stoqs é um banco de dados geoespacial e aplicativo da web projetado para fornecer aos oceanógrafos acesso integrado e eficiente a dados de medição in situ e de amostras ex situ . Consulte http://www.stoqs.org.
Primeiro, instale o Vagrant e o VirtualBox – existem instaladores padrão para Mac, Windows e Linux. (Você também precisará do software X Windows System em seu computador.) Em seguida, crie uma pasta vazia em seu diretório inicial, como Vagrants/ stoqs vm
, abra uma janela de prompt de comando, faça cd para essa pasta e digite estes 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
O Vagrantfile e o provision.sh provisionarão um sistema de desenvolvimento com um diretório montado em NFS do seu sistema operacional host. Se o seu host não suporta o envio de arquivos via NFS (a maioria dos hosts do Windows não suporta o envio de arquivos NFS), você precisará editar esses arquivos antes de executar vagrant up
. Procure o support NFS file serving
comentários nesses arquivos para as linhas que você precisa alterar.
O comando vagrant up
leva cerca de uma hora para provisionar e configurar uma máquina virtual CentOS 7 stoqs completa que também inclui MB-System, InstantReality e todas as ferramentas de ciência de dados Python agrupadas em pacotes como Anaconda. Será solicitada sua senha de administrador para configurar uma pasta compartilhada da VM (a menos que você tenha desabilitado a montagem NFS). Todas as conexões com esta VM são realizadas a partir do diretório em que você a instalou; você deve fazer cd para ele (por exemplo, cd ~/Vagrants/ stoqs vm
) antes de fazer login com o comando vagrant ssh -- -X
. Após a conclusão da instalação, faça login em sua nova VM e teste-a:
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
Em outra janela do terminal inicie o servidor de desenvolvimento (após um 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 a interface do usuário stoqs do seu servidor usando o navegador do seu computador host:
http://localhost:8008
Mais instruções estão no diretório doc/instructions — veja LOADING para detalhes sobre como carregar seus próprios dados. Por exemplo, você pode criar seu próprio banco de dados de uma campanha MBARI arquivada:
cd stoqs
ln -s mbari_campaigns.py campaigns.py
loaders/load.py --db stoqs _cce2015
Você é incentivado a contribuir com o projeto stoqs ! Consulte CONTRIBUINDO para saber como compartilhar seu trabalho. Além disso, veja exemplos de Jupyter Notebooks que demonstram análises e visualizações específicas que vão além dos recursos da interface do usuário stoqs . Visite as páginas Wiki stoqs para atualizações e links para apresentações. A lista de discussão stoqs nos Grupos do Google também é um bom lugar para fazer perguntas e participar de discussões com as comunidades de usuários e desenvolvedores stoqs .
Apoiado pela Fundação David e Lucile Packard, stoqs passa por desenvolvimento contínuo para ajudar a apoiar a missão do Monterey Bay Aquarium Research Institute. Se você tiver seu próprio servidor, ocasionalmente desejará obter novos recursos com:
git pull
Primeiro, instale o Docker e o docker-compose em seu sistema. Em seguida, clone o repositório; no diretório docker, copie o arquivo template.env
para .env
e edite-o para sua instalação específica e execute 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
Se o diretório definido para a variável stoqs _VOLS_DIR em seu arquivo .env não existir, a execução do docker-compose up
criará o cluster de banco de dados postgresql, carregará um banco de dados stoqs padrão e executará os testes unitários e funcionais do aplicativo stoqs . Se você não vir esses testes sendo executados (eles levarão vários minutos), verifique se há mensagens de erro.
Depois de ver ... [emperor] vassal /etc/uwsgi/django-uwsgi.ini is ready to accept requests
você pode visitar o site em https://localhost - ele usa um certificado autoassinado, então seu navegador irá reclamar e você precisará adicionar uma exceção. (O serviço nginx também entrega o mesmo aplicativo em http://localhost:8000 sem o problema do certificado.)
As configurações padrão em template.env
executarão um servidor nginx/uwsgi/ stoqs de produção configurado para https://localhost em uma máquina virtual Vagrant. Para configurar um servidor para intranet ou serviço público de seus dados, siga as instruções fornecidas nos comentários para as configurações em seu arquivo .env
. Após editar seu arquivo .env
você precisará reconstruir as imagens e reiniciar os serviços Docker, desta vez com a opção -d
para executar os containers em segundo plano:
docker-compose build
docker-compose up -d
Os comandos acima também devem ser executados após um git pull
para implantar software atualizado em seu servidor.
Uma coisa que é bom fazer é monitorar os logs e verificar se há mensagens de erro, isso pode ser feito com:
docker-compose logs -f
Você pode executar o código Python no servidor stoqs a partir do seu host, prefaciando-o com docker-compose exec stoqs
(use docker-compose run stoqs
para iniciar outro contêiner para processos de longa execução), por exemplo, para carregar alguns dados de campanha MBARI existentes:
docker-compose run stoqs stoqs /loaders/load.py --db stoqs _simz_aug2013
(Para carregar campanhas MBARI, você precisará descomentar a linha CAMPAIGNS_MODULE= stoqs /mbari_campaigns.py
em seu arquivo .env. Certifique-se de não ter um link simbólico chamado campaigns.py
no diretório stoqs . Isso é necessário apenas para uma máquina de desenvolvimento do Vagrant — é melhor manter o diretório usado para uma implantação do Docker separado daquele usado para o Vagrant.)
Em outra janela monitore sua saída:
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
Você também pode usar pg_restore
para carregar mais rapidamente um banco de dados Campaign existente em seu sistema. Para obter instruções, clique no nome da campanha na barra superior de uma campanha em outro servidor stoqs , por exemplo, no servidor stoqs público do MBARI.
Se você usa stoqs para sua pesquisa, cite esta publicação:
McCann, M.; Schramm, R.; Cline, D.; Michisaki, R.; Harvey, J.; Ryan, J., "Usando stoqs (o sistema de consulta oceanográfica temporal espacial) para gerenciar, visualizar e compreender dados de AUV, planadores e amarração", em Veículos Subaquáticos Autônomos (AUV), 2014 IEEE/OES , pp.1-10 , 6 a 9 de outubro de 2014 doi: 10.1109/AUV.2014.7054414
logotipo stoqs" style="largura máxima: 100%;">