デプロイ概要
このページでは、Chorus を実行しセルフホストするためのサポートされている方法を紹介し、それぞれに必要なものを挙げ、選ぶ手助けをします。選び終えたら、Docker、本番デプロイ、運用の各ガイドが残りの道のりを案内します。
デプロイ形態
Section titled “デプロイ形態”Chorus は同じアプリケーションを二つの形で実行します。違いは、データがどこに置かれ、何人が使うかにあります。
ローカル単一マシン
Section titled “ローカル単一マシン”単一ユーザー向けの、一台のマシン上の一つのプロセスです。Chorus は組み込みの PostgreSQL データベース(PGlite)を同梱しているため、別途インストールする外部コンポーネントはありません。コマンドが自らデータベースを作成し、マイグレーションを適用して、Web アプリケーションを 8637 ポートで提供します。これは Chorus を最も速く試す方法であり、個人的なローカル利用にふさわしい選択肢です。
これははじめにガイドが最初から最後まで案内する道のりです。グローバルパッケージをインストールし、管理者アカウントを設定して、サインインします。あのガイドはローカル単一ユーザー形態の正式なインストール手順なので、このページではその手順を繰り返しません。
チーム向けの共有インストールで、あなたが自分で管理しバックアップする外部の 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 の手順。
- 運用:初回ログインのブートストラップ、デプロイ側の 身分認証、自動マイグレーション、そしてアップグレード前のバックアップ。