Deploy using Docker Compose

はじめに

現在, の使用をサポートする。 Docker Compose を使用して Syntho アプリケーションをデプロイします。アプリケーションのデプロイには Docker Compose ファイルで、Syntho アプリケーションに必要なすべてのコンテナをデプロイします。次のページでは、Docker Composeを使用してアプリケーションをデプロイする手順を説明します。

デプロイの手順

  • 最新のダウンロード Docker Compose ファイルを Github リポジトリの Releases.リリースからダウンロードする必要があるファイルは次のとおりです。 docker-compose.tar.gz.

  • 用途 docker login をクリックして Syntho Container Registry にログインします。, または docker load を使ってファイルからイメージを読み込みます。Syntho ドキュメントの Deploy Syntho -> Introduction -> Access Docker images

  • 抜粋 docker-compose.tar.gz 使用して tar -xf docker-compose.tar.gz を開き、解凍したディレクトリを開く。

  • コピーオーバー example.env への .env 例えばLinuxのコマンド cp example.env .env

  • で以下の変数を調整する。 .env 最小限のセットアップ:

    • LICENSE_KEY: ライセンスキーはSynthoから提供されます。

    • ADMIN_USERNAME, ADMIN_EMAIL そして ADMIN_PASSWORD: アプリケーションのセットアップが完了したら、管理者アカウントの認証情報が必要になります。メールアドレスとパスワードはログインに必要です。

その .env ファイルには、すべての画像の最新の画像タグが含まれています。, これはローリングタグです。以下の画像タグを特定のバージョンに固定するために、Syntho チームが提供するタグで調整してください。:

  • RAY_IMAGE

  • CORE_IMAGE

  • BACKEND_IMAGE

  • FRONTEND_IMAGE

バックエンドAPIに正しくアクセスするには, ドメインを設定する必要があります。アプリケーションをデプロイしたのと同じマシンでアクセスする場合, localhost このドメインでは問題ないはずです。ネットワーク上の別のマシンを使っている場合, IPアドレスまたはホスト名は、以下の変数に使用する必要があります。:

  • FRONTEND_HOST: にはポートも含める必要がある。ポート3000がフロントエンドに使われている場合, 同じマシンからアクセスできる, となる。 localhost:3000.同じネットワーク上の別のマシンがフロントエンドにアクセスする必要がある場合, になります。 <IP-of-deployed-machine>:3000

  • FRONTEND_DOMAIN: のいずれかになります。 localhost または Syntho アプリケーションを実行しているマシンの IP

これらの変数の調整後, その docker compose ファイルで配備の準備が整うはずだ。ドキュメントでは今後も、特定のケースで調整すべき特定のセクションについて説明していく予定である。, しかし、この時点では Docker Compose ファイルをデプロイする準備ができているはずだ。

追加情報

複数ノードのセットアップには、より詳細な設定が必要です。この設定はスケーラブルな本番環境に推奨されます。手順や設定は、ネットワークの特定の要件や関係するノードの数によって異なる場合があります。

TLS

SSL証明書を提供する必要がある場合, 以下の環境変数を調整する必要があります。:

# TLSを使用する場合, プロトコルをhttpsに、secured_cookiesをTrueに設定する。
FRONTEND_PROTOCOL=https
SECURED_COOKIES="True"

デフォルト, これらの値はそれぞれ http そして False.

コアAPI

データベース

Core API & Worker が使用するデータベースの認証情報 (core そして core_worker および docker-compose ファイル内) の接続に使用する環境変数は、以下のとおりです。:

core_database_host=<database-host>
core_database_user=<database-user>
core_database_password=<database-password>
core_database_name=<database-name>

デフォルト, これらの値は、docker-compose ファイルの一部としてデプロイされる Postgres インスタンスの値に設定されます。別のデータベースを使用する必要がある場合は, 認証情報はここで調整できる。Postgresデータベースのみがサポートされています。

Redis

Redisインスタンスへの接続に使用される情報は、以下の環境変数に保存されます。:

CORE_CELERY_BROKER_URL=redis://<redis-host>:6379/0
CORE_CELERY_RESULT_BACKEND=redis://<redis-host>:6379/0
CORE_REDIS_HOST=redis
コアレディスポート=6379

その他の環境変数

その他の重要な変数は CORE_SECRET_KEY, これは暗号化キーとして使用される。この鍵はpythonを使って以下のコマンドで生成できる。:

# 暗号がインストールされていない場合, でインストールする。 `pip install cryptography`.
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

アプリケーションのポートに問題が生じた場合, デフォルトのポートは CORE_PORT 変数 .env ファイルである。

CORE_PORT=8000

バックエンド

データベース

コアAPIと同様, バックエンドはPostgresデータベースに接続する必要があります。このデータベースはアプリケーションデータの保存に使われます。デフォルトでは, これで

backend_db_host=<host>
backend_db_name=<database-name>
backend_db_user=<datbase-user>
backend_db_password=<database-password>
backend_db_port=<database-port>

レディス

バックエンドに使用するRedisインスタンスについて, 以下の変数を設定することができる。Redisインスタンスは docker-compose ファイル, しかし、別のRedisインスタンスを使用する場合, で認証情報を設定する必要があります。 .env ファイルである。

BACKEND_REDIS_HOST=redis # 接続先の Redis ホスト名
BACKEND_REDIS_PORT=6379 # 接続する Redis ポート。
BACKEND_REDIS_DB_INDEX=1 # 使用する Redis データベースのインデックス

管理者ユーザー

ドキュメントで前述したように, ユーザー名, adminユーザーのメールアドレスとパスワードを調整することができます。そのためには、以下の環境変数を使用します。:

ADMIN_USERNAME=admin
ADMIN_PASSWORD=パスワード
ADMIN_EMAIL=admin@company.com

その他の環境変数

バックエンド用, いくつかの追加環境変数を設定することができる。ポートマッピングに問題が発生した場合は、バックエンドに公開するポートを変更することができます。ポートを変更するには, の値を変更することができる。 BACKEND_PORT:

BACKEND_PORT=8000

次に、バックエンドが暗号化のために使用する秘密鍵を用意します。このキーには任意の値を設定することができます。, かなり長い文字列である限り。例:

BACKEND_SECRET_KEY="66n6ldql(b2g0jmop(gr)@x0tz!*^7(d1_$2#y&$t&3r$=cr%#"

フロントエンド

フロントエンドはユーザインタフェースを担当する。フロントエンドはこのためにバックエンドに接続する必要があります。フロントエンドのために残された最も重要な変数は次のとおりです。:

FRONTEND_PORT=3000

この変数はフロントエンドのポートを設定する, これは、ユーザーがアプリケーションにアクセスできるようにするために公開する必要がある。

Last updated