stoqsは、海洋学者が現場測定および現場外サンプルデータに効率的に統合されたアクセスを提供できるように設計された地理空間データベースおよび Web アプリケーションです。 http://www.stoqs.org を参照してください。
まず、Vagrant と VirtualBox をインストールします。Mac、Windows、Linux 用の標準インストーラーがあります。 (コンピューター上に X Windows System ソフトウェアも必要です。) 次に、ホーム ディレクトリに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 と professional.sh は、ホスト オペレーティング システムから NFS マウントされたディレクトリを使用して開発システムをプロビジョニングします。ホストが NFS 経由のファイル提供をサポートしていない場合 (ほとんどの Windows ホストは NFS ファイル提供をサポートしていません)、 vagrant up
実行する前にこれらのファイルを編集する必要があります。これらのファイル内で、変更する必要がある行のコメントsupport NFS file serving
を探してください。
vagrant up
コマンドは、MB-System、InstantReality、Anaconda などのパッケージにバンドルされているすべての Python データ サイエンス ツールも含まれる完全な CentOS 7 stoqs仮想マシンをプロビジョニングしてセットアップするのに 1 時間ほどかかります。 VM から共有フォルダーを構成するには、管理者パスワードの入力を求められます (NFS マウントを無効にしていない場合)。この VM へのすべての接続は、VM をインストールしたディレクトリから実行されます。 vagrant ssh -- -X
コマンドでログインする前に、cd する必要があります (例: cd ~/Vagrants/ stoqs vm
)。インストールが完了したら、新しい 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プロジェクトにご協力ください。作品を共有する方法については、「貢献」をご覧ください。また、 stoqsユーザー インターフェイスの機能を超える特定の分析と視覚化を示す Jupyter Notebook の例も参照してください。最新情報とプレゼンテーションへのリンクについては、 stoqs Wiki ページにアクセスしてください。 Google グループのstoqs -discuss リストは、 stoqsユーザーや開発者のコミュニティと質問したり、ディスカッションを行ったりするのに適した場所です。
デビッド & ルシール パッカード財団の支援を受けて、 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サーバーが実行されます。データをイントラネットまたはパブリックに提供するためにサーバーを構成するには、 .env
ファイルの設定のコメントに記載されている手順に従ってください。 .env
ファイルを編集した後、イメージを再構築し、Docker サービスを再起動する必要があります。今回は-d
オプションを使用してコンテナをバックグラウンドで実行します。
docker-compose build
docker-compose up -d
更新されたソフトウェアをサーバーにデプロイするには、上記のコマンドをgit pull
後に実行する必要もあります。
やるべきことの 1 つは、ログを監視してエラー メッセージをチェックすることです。これは次のように実行できます。
docker-compose logs -f
docker-compose exec stoqs
を先頭に付けることで、ホストからstoqsサーバー内の Python コードを実行できます (長時間実行プロセス用に別のコンテナーを起動するにはdocker-compose run stoqs
を使用します)。たとえば、既存の 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、グライダー、および係留データを管理、視覚化、および理解する」 、『Autonomous Underwater Vehicles (AUV)』、2014 IEEE/OES 、pp.1-10 、2014 年 10 月 6 ~ 9 日 doi: 10.1109/AUV.2014.7054414
stoqs ロゴ" style="max-width: 100%;">