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 開發機器——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%;">