stoqs est une base de données géospatiale et une application Web conçues pour offrir aux océanographes un accès intégré efficace aux mesures in situ et aux données d'échantillons ex situ . Voir http://www.stoqs.org.
Tout d’abord, installez Vagrant et VirtualBox – il existe des installateurs standard pour Mac, Windows et Linux. (Vous aurez également besoin du logiciel système X Windows sur votre ordinateur.) Créez ensuite un dossier vide dans votre répertoire personnel tel que Vagrants/ stoqs vm
, ouvrez une fenêtre d'invite de commande, cd dans ce dossier et entrez ces commandes :
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
Le Vagrantfile et provision.sh fourniront un système de développement avec un répertoire monté NFS à partir de votre système d'exploitation hôte. Si votre hôte ne prend pas en charge le service de fichiers via NFS (la plupart des hôtes Windows ne prennent pas en charge le service de fichiers NFS), vous devrez alors modifier ces fichiers avant d'exécuter vagrant up
. Recherchez le support NFS file serving
les commentaires dans ces fichiers pour les lignes que vous devez modifier.
La commande vagrant up
prend environ une heure pour provisionner et configurer une machine virtuelle CentOS 7 stoqs complète qui comprend également MB-System, InstantReality et tous les outils de science des données Python regroupés dans des packages tels qu'Anaconda. Vous serez invité à saisir votre mot de passe administrateur pour configurer un dossier partagé à partir de la VM (sauf si vous avez désactivé le montage NFS). Toutes les connexions à cette VM sont effectuées à partir du répertoire dans lequel vous l'avez installée ; vous devez y accéder (par exemple cd ~/Vagrants/ stoqs vm
) avant de vous connecter avec la commande vagrant ssh -- -X
. Une fois l'installation terminée, connectez-vous à votre nouvelle VM et testez-la :
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
Dans une autre fenêtre de terminal démarrez le serveur de développement (après 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
Visitez l'interface utilisateur stoqs de votre serveur à l'aide du navigateur de votre ordinateur hôte :
http://localhost:8008
Plus d'instructions se trouvent dans le répertoire doc/instructions — voir LOADING pour plus de détails sur le chargement de vos propres données. Par exemple, vous pouvez créer votre propre base de données d'une campagne MBARI archivée :
cd stoqs
ln -s mbari_campaigns.py campaigns.py
loaders/load.py --db stoqs _cce2015
Vous êtes encouragés à contribuer au projet stoqs ! Veuillez consulter CONTRIBUER pour savoir comment partager votre travail. Consultez également des exemples de notebooks Jupyter qui démontrent des analyses et des visualisations spécifiques qui vont au-delà des capacités de l'interface utilisateur stoqs . Visitez les pages Wiki stoqs pour les mises à jour et les liens vers les présentations. La liste stoqs -discuss dans Google Groupes est également un bon endroit pour poser des questions et engager des discussions avec les communautés d'utilisateurs et de développeurs stoqs .
Soutenu par la Fondation David et Lucile Packard, stoqs fait l'objet d'un développement continu pour aider à soutenir la mission du Monterey Bay Aquarium Research Institute. Si vous possédez votre propre serveur, vous souhaiterez occasionnellement bénéficier de nouvelles fonctionnalités avec :
git pull
Tout d’abord, installez Docker et docker-compose sur votre système. Clonez ensuite le référentiel ; dans le répertoire docker, copiez le fichier template.env
dans .env
et modifiez-le pour votre installation spécifique, puis exécutez 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 le répertoire défini sur la variable stoqs _VOLS_DIR dans votre fichier .env n'existe pas, alors l'exécution de docker-compose up
créera le cluster de base de données postgresql, chargera une base de données stoqs par défaut et exécutera les tests unitaires et fonctionnels de l'application stoqs . . Si vous ne voyez pas ces tests en cours d'exécution (ils prendront plusieurs minutes), recherchez les messages d'erreur.
Une fois que vous voyez ... [emperor] vassal /etc/uwsgi/django-uwsgi.ini is ready to accept requests
vous pouvez visiter le site à l'adresse https://localhost — il utilise un certificat auto-signé, donc votre navigateur se plaindra et vous devrez ajouter une exception. (Le service nginx fournit également la même application sur http://localhost:8000 sans problème de certificat.)
Les paramètres par défaut dans template.env
exécuteront un serveur de production nginx/uwsgi/ stoqs configuré pour https://localhost dans une machine virtuelle Vagrant. Pour configurer un serveur pour un intranet ou un service public de vos données, suivez les instructions fournies dans les commentaires pour les paramètres de votre fichier .env
. Après avoir modifié votre fichier .env
vous devrez reconstruire les images et redémarrer les services Docker, cette fois avec l'option -d
pour exécuter les conteneurs en arrière-plan :
docker-compose build
docker-compose up -d
Les commandes ci-dessus doivent également être effectuées suite à un git pull
afin de déployer un logiciel mis à jour sur votre serveur.
Une bonne chose à faire est de surveiller les journaux et de vérifier les messages d'erreur. Cela peut être fait avec :
docker-compose logs -f
Vous pouvez exécuter du code Python sur le serveur stoqs depuis votre hôte en le faisant précéder de docker-compose exec stoqs
(utilisez docker-compose run stoqs
pour lancer un autre conteneur pour les processus de longue durée), par exemple pour charger certaines données de campagne MBARI existantes :
docker-compose run stoqs stoqs /loaders/load.py --db stoqs _simz_aug2013
(Pour charger les campagnes MBARI, vous devrez avoir décommenté la ligne CAMPAIGNS_MODULE= stoqs /mbari_campaigns.py
dans votre fichier .env. Assurez-vous que vous n'avez pas de lien symbolique nommé campaigns.py
dans le répertoire stoqs . Ceci n'est nécessaire que pour une machine de développement Vagrant — il est préférable de conserver le répertoire utilisé pour un déploiement Docker séparé de celui utilisé pour Vagrant.)
Dans une autre fenêtre, surveillez sa sortie :
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
Vous pouvez également utiliser pg_restore
pour charger plus rapidement une base de données Campaign existante sur votre système. Pour obtenir des instructions, cliquez sur le nom de la campagne dans la barre supérieure d'une campagne sur un autre serveur stoqs , par exemple sur le serveur stoqs public de MBARI.
Si vous utilisez stoqs pour vos recherches, veuillez citer cette publication :
McCann, M. ; Schramm, R. ; Cline, D. ; Michisaki, R. ; Harvey, J. ; Ryan, J., « Utilisation stoqs (le système de requêtes océanographiques spatio-temporelles) pour gérer, visualiser et comprendre les données AUV, planeurs et d'amarrage », dans Véhicules sous-marins autonomes (AUV), 2014 IEEE/OES , pp.1-10 , 6-9 octobre 2014 doi: 10.1109/AUV.2014.7054414
logo stoqs" style="largeur maximale : 100 % ;">