stoqs是一个地理空间数据库和网络应用程序,旨在让海洋学家有效地集成访问原位测量和非原位样本数据。请参阅 http://www.stoqs.org。
首先,安装 Vagrant 和 VirtualBox — 有适用于 Mac、Windows 和 Linux 的标准安装程序。 (您的计算机上还需要 X Windows 系统软件。)然后在主目录下创建一个空文件夹,例如Vagrants/ stoqs vm
,打开命令提示符窗口,cd 到该文件夹,然后输入以下命令:
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 和provision.sh 将为开发系统提供来自主机操作系统的NFS 安装目录。如果您的主机不支持通过 NFS 提供文件服务(大多数 Windows 主机不支持 NFS 文件服务),那么您需要在执行vagrant up
之前编辑这些文件。查找support NFS file serving
您需要更改的行的注释。
vagrant up
命令需要一个小时左右的时间来配置和设置完整的 CentOS 7 stoqs虚拟机,其中还包括 MB-System、InstantReality 以及捆绑在 Anaconda 等软件包中的所有 Python 数据科学工具。系统将提示您输入管理员密码,以便从 VM 配置共享文件夹(除非您已禁用 NFS 挂载)。与此虚拟机的所有连接都是从您安装它的目录执行的;在使用vagrant ssh -- -X
命令登录之前,您必须先 cd 到它(例如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
./test.sh CHANGEME load noextraload
在另一个终端窗口中启动开发服务器(在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
使用主机浏览器访问服务器的stoqs用户界面:
http://localhost:8008
更多说明位于 doc/instructions 目录中 - 有关加载您自己的数据的详细信息,请参阅 LOADING。例如,您可以创建自己的 MBARI 活动存档数据库:
cd stoqs
ln -s mbari_campaigns.py campaigns.py
loaders/load.py --db stoqs _cce2015
我们鼓励您为stoqs项目做出贡献!请参阅贡献以了解如何分享您的作品。另请参阅示例 Jupyter Notebooks,其中演示了超出stoqs用户界面功能的特定分析和可视化。访问stoqs Wiki 页面以获取更新和演示文稿链接。 Google 网上论坛中的stoqs讨论列表也是提问以及与stoqs用户和开发者社区进行讨论的好地方。
在 David 和 Lucile Packard 基金会的支持下, stoqs不断发展,以帮助支持蒙特利湾水族馆研究所的使命。如果您拥有自己的服务器,您偶尔会希望获得以下新功能:
git pull
首先,在您的系统上安装 Docker 和 docker-compose。然后克隆存储库;在 docker 目录中将template.env
文件复制到.env
并针对您的特定安装进行编辑,然后执行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
如果 .env 文件中设置为stoqs _VOLS_DIR 变量的目录不存在,则执行docker-compose up
将创建 postgresql 数据库集群,加载默认的stoqs数据库,并执行stoqs应用程序的单元和功能测试。如果您没有看到这些测试正在执行(它们将需要几分钟),请检查错误消息。
一旦您看到... [emperor] vassal /etc/uwsgi/django-uwsgi.ini is ready to accept requests
您可以访问 https://localhost 站点 - 它使用自签名证书,因此您的浏览器会抱怨并且您需要添加一个例外。 (nginx 服务还在 http://localhost:8000 上提供了相同的应用程序,但没有证书问题。)
template.env
中的默认设置将运行为 Vagrant 虚拟机中的 https://localhost 配置的生产 nginx/uwsgi/ stoqs服务器。要配置用于 Intranet 或公共数据服务的服务器,请按照.env
文件中的设置注释中提供的说明进行操作。编辑.env
文件后,您需要重建映像并重新启动 Docker 服务,这次使用-d
选项在后台运行容器:
docker-compose build
docker-compose up -d
上述命令还应该在git pull
之后完成,以便在服务器上部署更新的软件。
最好做的一件事是监视日志并检查错误消息,可以通过以下方式完成:
docker-compose logs -f
您可以通过在主机上使用docker-compose exec stoqs
(使用docker-compose run stoqs
为长时间运行的进程启动另一个容器)在stoqs服务器中执行 Python 代码,例如加载一些现有的 MBARI 活动数据:
docker-compose run stoqs stoqs /loaders/load.py --db stoqs _simz_aug2013
(要加载 MBARI 营销活动,您需要取消注释 .env 文件中的CAMPAIGNS_MODULE= stoqs /mbari_campaigns.py
行。确保stoqs目录中没有名为campaigns.py
符号链接。仅需要这样做一台 Vagrant 开发机器——最好将用于 Docker 部署的目录与用于 Vagrant 的目录分开。)
在另一个窗口中监视其输出:
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
您还可以使用pg_restore
更快地加载系统上现有的 Campaign 数据库。有关说明,请单击另一个stoqs服务器(例如 MBARI 的公共stoqs服务器)上的营销活动顶部栏中的营销活动名称。
如果您使用stoqs进行研究,请引用此出版物:
麦肯,M.;施拉姆,R.;克莱恩,D.;道崎,R.;哈维,J.; Ryan, J.,“使用stoqs (时空海洋学查询系统)管理、可视化和理解 AUV、滑翔机和系泊数据”, 《自主水下航行器 (AUV)》,2014 年 IEEE/OES ,第 1-10 页, 2014 年 10 月 6-9 日 doi: 10.1109/AUV.2014.7054414
stoqs 徽标" style="max-width: 100%;">