アノテーションサーバーのデプロイ
実際の研究のために Potato アノテーションサーバーをデプロイする方法、認証の選択肢、HTTPS、そして Docker やリバースプロキシを用いた本番環境の構成を解説します。
アノテーション研究を本格的に実施するということは、Potato を自分のノートパソコンから、アノテーターがアクセスできるサーバーへ移し、認証情報とデータを守るために適切なログイン方式と HTTPS を備えることを意味します。 本ガイドではデプロイの選択肢を扱います。手順ごとのセットアップはローカル開発とデプロイのセクションを参照してください。
認証方式を選ぶ
ログイン方式をアノテーターの集団に合わせます。
- パスワードなし:アノテーターはユーザー名だけを入力します。信頼できる内部チームや、プラットフォームが既にワーカーを識別済みのクラウドソーシング研究に向いています。パスワードなしログインを参照。
- パスワード:管理されたユーザー一覧で、名前の決まった固定のアノテーター向けです。
- OAuth / SSO:Google や GitHub、あるいは所属機関のシングルサインオンでサインインします。大規模または機関単位のデプロイに最適です。
HTTPS の背後に置く
実運用のデプロイはすべて HTTPS で配信し、ユーザー名・回答・あらゆる個人データを通信経路上で暗号化すべきです。よくあるパターンは、Potato の前段で TLS を終端する nginx のようなリバースプロキシを置くか、TLS を肩代わりしてくれるホスティングプラットフォームを使うことです。
典型的な本番スタック
- 本番用のサーバープロセスの下で動く Potato。
- TLS と静的アセットを処理するリバースプロキシとしての nginx(または同等品)。
- コンテナ化する場合に、再現性のある形でパッケージングするための Docker。
- 証明書付きの公開 DNS 名(Let's Encrypt は無料です)。
まずまったく同じ設定をローカルで試運用し、その後同じ設定をデプロイします。変わるのは URL、認証、TLS だけです。
研究を運営する
- 管理ダッシュボードで進捗、処理量、そして一致度を見守ります。
- 出力ディレクトリを定期的にバックアップします。アノテーションはそこに書き込まれます。
- クラウドソーシング研究については、Prolific と MTurk で研究を実施するを参照してください。