要件
- リリースログ: https://langgenius.github.io/dify-enterprise-docker-compose/
- Docker
- Docker Compose
-
Linux サーバー
- 注意: Windows や Mac の Docker Desktop はサポートされていません。
- 最小要件:4 コア CPU、16 GB メモリ、100 GB ディスク容量
クイックスタート
ダウンロード
特定のバージョンを Dify Enterprise の リポジトリ からダウンロードします。wget を使用する場合:
curl を使用する場合:
インストール
- ダウンロードしたファイルをデプロイ用ディレクトリに展開します:
- 環境変数テンプレートをコピーし、デプロイ用ディレクトリで Docker Compose を起動します:
- Dify Enterprise へのアクセス:
/etc/hosts に以下のように追加してください。
コミュニティ版からのアップグレード
3.10 で環境変数の構成が再編されました:単一だった
.env.example は、スリム化された .env.example と任意の envs/*.env.example ファイルに分割され、エンタープライズ設定は有効な状態で envs/enterprise/ 配下に同梱されます。バックアップした .env の復元は安全です。Docker Compose は .env を最後に読み込むため、既存の値が優先され、移行せずにそのままデプロイは動作し続けます。3.10 の新しいデフォルト値や新規追加の変数を取り込みたい場合は、任意で .env を新しい .env.example に合わせて調整できます。同梱の dify-env-sync.sh は .env.example から .env への一方向同期を行います(カスタム値を保持し、事前にバックアップを取り、削除されたキーを報告します)。- Enterprise データベースを作成(コミュニティ版が起動中である必要があります):
docker container ls コマンドで db コンテナ名を確認して適宜調整してください。
- コミュニティ版を停止します:
- データと設定をバックアップします(
sudoが必要な場合があります):
-
backup.tgzとdify-docker-compose-<version>.tgz以外のファイルをすべて削除します。 - 新しいファイルを展開します:
- バックアップから復元:
-
docker-compose.yamlやnginx/conf.d/default.confなどのカスタム設定がある場合、内容を反映してください。 - Docker Compose を再起動します:
/etc/hostsにドメインと IP を追加:
以前の Enterprise 版からのアップグレード
3.10 で環境変数の構成が再編されました:単一だった
.env.example は、スリム化された .env.example と任意の envs/*.env.example ファイルに分割され、エンタープライズ設定は有効な状態で envs/enterprise/ 配下に同梱されます。バックアップした .env の復元は安全です。Docker Compose は .env を最後に読み込むため、既存の値が優先され、移行せずにそのままデプロイは動作し続けます。3.10 の新しいデフォルト値や新規追加の変数を取り込みたい場合は、任意で .env を新しい .env.example に合わせて調整できます。同梱の dify-env-sync.sh は .env.example から .env への一方向同期を行います(カスタム値を保持し、事前にバックアップを取り、削除されたキーを報告します)。- データと設定をバックアップ:
-
backup.tgzとdify-docker-compose-<version>.tgz以外を削除 - 新しいファイルを展開:
- バックアップを復元:
-
カスタム設定があれば反映する(例:
docker-compose.yaml,squid.confなど) - Docker Compose を起動:
高度な設定
設定ファイル
設定はデプロイ用ディレクトリ内の複数のファイルに分かれています:.env:実際に有効な設定です。初回起動の前に.env.exampleからコピーしてください(cp .env.example .env)。すべての上書き設定はここに記述します。Docker Compose はこのファイルを最後に読み込むため、.envの値が最も優先され、他のすべてを上書きします。envs/enterprise/*.env:エンタープライズ向けサービス設定です。有効な状態で同梱され自動的に組み込まれるため、標準的なデプロイではコピーや編集は不要です。envs/*.env.example:テーマ別(データベース、ベクトルストア、インフラなど)にまとめられた任意の高度な設定です。あるグループを有効にするには、.example接尾辞を外してファイルをコピーします(例:cp envs/databases/redis.env.example envs/databases/redis.env)。
.env に追加するだけで十分です。上記ファイルのデフォルト値を上書きします。
ドメイン要件
Dify Enterprise では以下の5つのドメイン設定が必要です:- Console:
console.dify.local - Services API:
api.dify.local - APP:
app.dify.local - Files:
upload.dify.local - Enterprise:
enterprise.dify.local
.env ファイルに以下のように設定:
永続ストレージ
デフォルトではローカルストレージを使用します。AWS S3 を使用するには.env に以下を追加:
PostgreSQL データベース設定
Redis データベース設定
ベクトルデータベース(Qdrant 使用例)
デフォルトでは Weaviate を使用しています。Qdrant に変更するには:Agent サンドボックスバックエンド
Agent のサンドボックスは 2 種類のバックエンドのどちらかで動作し、.env ファイルの DIFY_AGENT_RUNTIME_BACKEND で選択します。バックエンドを 1 つ選び、対応する変数ファミリーを設定してください。この選択は、Agent の Home Snapshot(永続ファイル)の保存先も決めます。
デフォルトでは、デプロイに同梱の local_sandbox コンテナを使用します:
DIFY_AGENT_SHELLCTL_ENTRYPOINT と DIFY_AGENT_SHELLCTL_AUTH_TOKEN は、既存デプロイ向けのフォールバックとして引き続き受け付けられます。
サンドボックスを E2B で実行するには、docker-compose.e2b.yaml オーバーレイを重ねて起動し、E2B の変数ファミリーを設定します:
DIFY_AGENT_E2B_API_KEY:E2B の API キー。E2B_API_KEYとE2B_API_TOKENもデプロイレベルのフォールバックとして使えます。DIFY_AGENT_E2B_TEMPLATE:E2B のサンドボックステンプレート。デフォルトはdifys-default-team/dify-agent-local-sandbox。DIFY_AGENT_E2B_ACTIVE_TIMEOUT_SECONDS:1 つのサンドボックスリースの最長連続稼働時間。デフォルト3600で、独立して設定できる Agent 実行期限(DIFY_AGENT_RUN_TIMEOUT_SECONDS)のデフォルトと一致します。DIFY_AGENT_E2B_SHELLCTL_PORT:サンドボックスランタイムが待ち受けるポート。デフォルト5004。