stoqs es una base de datos geoespacial y una aplicación web diseñada para brindar a los oceanógrafos un acceso integrado eficiente a mediciones in situ y datos de muestras ex situ . Véase http://www.stoqs.org.
Primero, instale Vagrant y VirtualBox; existen instaladores estándar para Mac, Windows y Linux. (También necesitará el software del sistema X Windows en su computadora). Luego cree una carpeta vacía fuera de su directorio de inicio, como Vagrants/ stoqs vm
, abra una ventana del símbolo del sistema, vaya a esa carpeta e ingrese estos comandos:
curl " https://raw.githubusercontent.com/stoqs/ stoqs /master/Vagrantfile " -o Vagrantfile
curl " https://raw.githubusercontent.com/stoqs/ stoqs /master/provision.sh " -o provision.sh
vagrant plugin install vagrant-vbguest
vagrant up --provider virtualbox
Vagrantfile y provision.sh aprovisionarán un sistema de desarrollo con un directorio montado en NFS desde su sistema operativo host. Si su host no admite la entrega de archivos a través de NFS (la mayoría de los hosts de Windows no admiten la entrega de archivos NFS), deberá editar estos archivos antes de ejecutar vagrant up
. Busque el support NFS file serving
comentarios en estos archivos para las líneas que necesita cambiar.
El comando vagrant up
tarda aproximadamente una hora en aprovisionar y configurar una máquina virtual CentOS 7 stoqs completa que también incluye MB-System, InstantReality y todas las herramientas de ciencia de datos de Python incluidas en paquetes como Anaconda. Se le solicitará su contraseña de administrador para configurar una carpeta compartida desde la VM (a menos que haya deshabilitado el montaje NFS). Todas las conexiones a esta VM se realizan desde el directorio en el que la instaló; debe acceder a él (por ejemplo, cd ~/Vagrants/ stoqs vm
) antes de iniciar sesión con el comando vagrant ssh -- -X
. Una vez finalizada la instalación, inicie sesión en su nueva máquina virtual y pruébela:
vagrant ssh -- -X # Wait for [vagrant@localhost ~]$ prompt
export stoqs _HOME=/vagrant/dev/ stoqs git # Use stoqs _HOME=/home/vagrant/dev/ stoqs git if not using NFS mount
cd $ stoqs _HOME && source venv- stoqs /bin/activate
export DATABASE_URL=postgis:// stoqs adm:[email protected]:5438/ stoqs
./test.sh CHANGEME load noextraload
En otra ventana de terminal, inicie el servidor de desarrollo (después de un cd ~/Vagrants/ stoqs vm
):
vagrant ssh -- -X # Wait for [vagrant@localhost ~]$ prompt
export stoqs _HOME=/vagrant/dev/ stoqs git # Use stoqs _HOME=/home/vagrant/dev/ stoqs git if not using NFS mount
cd $ stoqs _HOME && source venv- stoqs /bin/activate
export DATABASE_URL=postgis:// stoqs adm:[email protected]:5438/ stoqs
stoqs /manage.py runserver 0.0.0.0:8000 --settings=config.settings.local
Visite la interfaz de usuario de stoqs de su servidor utilizando el navegador de su computadora host:
http://localhost:8008
Hay más instrucciones en el directorio doc/instructions; consulte CARGAR para obtener detalles sobre cómo cargar sus propios datos. Por ejemplo, puede crear su propia base de datos de una campaña MBARI archivada:
cd stoqs
ln -s mbari_campaigns.py campaigns.py
loaders/load.py --db stoqs _cce2015
¡Te animamos a contribuir al proyecto stoqs ! Consulte CONTRIBUCIÓN para saber cómo compartir su trabajo. Consulte también ejemplos de Jupyter Notebooks que demuestran análisis y visualizaciones específicas que van más allá de las capacidades de la interfaz de usuario stoqs . Visite las páginas Wiki stoqs para obtener actualizaciones y enlaces a presentaciones. La lista de discusión stoqs en Grupos de Google también es un buen lugar para hacer preguntas y entablar debates con las comunidades de usuarios y desarrolladores stoqs .
Con el respaldo de la Fundación David y Lucile Packard, stoqs se desarrolla continuamente para ayudar a respaldar la misión del Instituto de Investigación del Acuario de la Bahía de Monterey. Si tiene su propio servidor, ocasionalmente querrá obtener nuevas funciones con:
git pull
Primero, instale Docker y docker-compose en su sistema. Luego clona el repositorio; en el directorio de Docker, copie el archivo template.env
a .env
y edítelo para su instalación específica, luego ejecute docker-compose up
:
git clone https://github.com/stoqs/ stoqs .git stoqs git
cd stoqs git/docker
cp template.env .env
chmod 600 .env # You must then edit .env and change settings for your environment
docker-compose up
Si el directorio configurado en la variable stoqs _VOLS_DIR en su archivo .env no existe, entonces la ejecución de docker-compose up
creará el clúster de base de datos postgresql, cargará una base de datos stoqs predeterminada y ejecutará las pruebas unitarias y funcionales de la aplicación stoqs . . Si no ve que estas pruebas se estén ejecutando (tardarán varios minutos), verifique si hay mensajes de error.
Una vez que vea ... [emperor] vassal /etc/uwsgi/django-uwsgi.ini is ready to accept requests
puede visitar el sitio en https://localhost; utiliza un certificado autofirmado, por lo que su navegador se quejará. y deberá agregar una excepción. (El servicio nginx también ofrece la misma aplicación en http://localhost:8000 sin la emisión del certificado).
La configuración predeterminada en template.env
ejecutará un servidor nginx/uwsgi/ stoqs de producción configurado para https://localhost en una máquina virtual Vagrant. Para configurar un servidor para intranet o servicio público de sus datos, siga las instrucciones proporcionadas en los comentarios para la configuración de su archivo .env
. Después de editar su archivo .env
necesitará reconstruir las imágenes y reiniciar los servicios de Docker, esta vez con la opción -d
para ejecutar los contenedores en segundo plano:
docker-compose build
docker-compose up -d
Los comandos anteriores también deben ejecutarse después de un git pull
para implementar software actualizado en su servidor.
Una cosa que es bueno hacer es monitorear los registros y verificar si hay mensajes de error; esto se puede hacer con:
docker-compose logs -f
Puede ejecutar código Python en el servidor stoqs desde su host anteponiéndolo con docker-compose exec stoqs
(use docker-compose run stoqs
para iniciar otro contenedor para procesos de larga duración), por ejemplo, para cargar algunos datos de campaña MBARI existentes:
docker-compose run stoqs stoqs /loaders/load.py --db stoqs _simz_aug2013
(Para cargar campañas MBARI, deberá haber descomentado la línea CAMPAIGNS_MODULE= stoqs /mbari_campaigns.py
en su archivo .env. Asegúrese de no tener un enlace simbólico llamado campaigns.py
en el directorio stoqs . Esto solo es necesario para una máquina de desarrollo Vagrant: es mejor mantener el directorio utilizado para una implementación de Docker separado del utilizado para Vagrant).
En otra ventana monitoree su salida:
docker-compose run stoqs tail -f /srv/ stoqs /loaders/MolecularEcology/loadSIMZ_aug2013.out
# Or (The stoqs code is bound as a volume in the container from the GitHub cloned location)
tail -f stoqs git/ stoqs /loaders/MolecularEcology/loadSIMZ_aug2013.out
También puede utilizar pg_restore
para cargar más rápidamente una base de datos de Campaign existente en su sistema. Para obtener instrucciones, haga clic en el nombre de la campaña en la barra superior de una campaña en otro servidor stoqs , por ejemplo, en el servidor público stoqs de MBARI.
Si utiliza stoqs para su investigación, cite esta publicación:
McCann, M.; Schramm, R.; Cline, D.; Michisaki, R.; Harvey, J.; Ryan, J., "Uso de stoqs (el sistema de consulta oceanográfica espacial-temporal) para gestionar, visualizar y comprender datos de AUV, planeadores y amarres", en Vehículos submarinos autónomos (AUV), 2014 IEEE/OES , págs.1-10 , 6-9 de octubre de 2014 doi: 10.1109/AUV.2014.7054414
logotipo de stoqs" style="max-width: 100%;">