デプロイ概要
このページでは、Chorus を実行・セルフホストするためにサポートされている方法と、それぞれに必要なものを紹介し、選ぶための手がかりを示します。方法を決めたら、Docker でデプロイ、本番環境でデプロイ、セルフホストの Chorus を運用するの各ガイドで残りの手順を進めてください。
デプロイ形態
Section titled “デプロイ形態”Chorus は同じアプリケーションをローカルと本番の二つの形態で実行します。違いは、データの置き場所と利用する人数です。
ローカル単一マシン
Section titled “ローカル単一マシン”一人のユーザーが、一台のマシン上の一つのプロセスで使う形態です。Chorus は組み込みの PostgreSQL データベース(PGlite)を同梱しているため、別途インストールする外部コンポーネントはありません。コマンドが自らデータベースを作成し、マイグレーションを適用して、Web アプリケーションを 8637 ポートで提供します。Chorus を最も手早く試せる方法で、個人でのローカル利用に適しています。
この方法の手順は、はじめにガイドで最初から最後まで説明しています(グローバルパッケージをインストールし、管理者アカウントを設定して、サインインします)。このページではその手順を繰り返しません。
ローカル形態は、Docker のスタンドアロンコンテナとしても実行できます。同じ組み込みデータベースを使い、データは Docker ボリュームに保存されます。スタンドアロン(組み込みデータベース)を参照してください。
チームで共有するインストールです。自分で管理・バックアップする外部の PostgreSQL 16 データベースを使い、一つ以上のアプリケーションインスタンスで提供します。Redis 7 は単一インスタンスでは任意ですが、複数のインスタンスを実行する場合は必須です。インスタンス同士が Redis を通じてライブ更新(Server-Sent Events)を伝え合うためです。Redis がない場合、Chorus はメモリ内のイベント配信にフォールバックしますが、これは単一インスタンスでしか機能しません。
本番形態は、コンテナとして実行する(Docker でデプロイを参照)、グローバル npm パッケージから自前の PostgreSQL と Redis に対して実行する、あるいは同梱の AWS CDK スタック上で実行する(本番環境でデプロイを参照)ことができます。
- Node.js 22 以降:Chorus は Node.js 22 ランタイムを対象としています(Docker イメージは
node:22-alpineの上に構築されています)。 8637ポート:アプリケーションはここで待ち受けます。UI と MCP エンドポイントに到達するには、このポートを公開するかリバースプロキシしてください。- データベース:ローカル形態では用意するものはありません(組み込みの PGlite)。本番では、接続文字列で到達できる外部の PostgreSQL 16 データベースが必要です。
- キャッシュ:単一インスタンスでは不要です。複数インスタンスの本番デプロイでは、インスタンス間のイベント伝播のための Redis 7 エンドポイントが必要です。
| やりたいこと | 選ぶもの | データベース | キャッシュ |
|---|---|---|---|
| Chorus を試す、または一台のマシンで一人で作業する | ローカル単一マシン | 組み込み PGlite | なし |
| 最小限の構成要素で共有インスタンスを実行する | スタンドアロンコンテナで動かすローカル形態 | 組み込み PGlite(ボリューム内) | なし |
| 共有・堅牢・複数インスタンスのインストールを実行する | 本番(Docker、npm、または AWS CDK) | 外部 PostgreSQL 16 | Redis 7(2 インスタンス以上で必須) |
- Docker でデプロイ:公開されている
chorusaidlc/chorus-appイメージ。スタンドアロンと本番の Compose ファイル、docker runの例、完全な環境変数 リファレンス、そして起動時の挙動。 - 本番環境でデプロイ:自前の PostgreSQL と Redis に対して 実行する方法、複数インスタンスの要件、そして完全な AWS CDK の手順。
- セルフホストの Chorus を運用する:初回ログインのブートストラップ、デプロイ側の 認証、自動マイグレーション、そしてアップグレード前のバックアップ。