このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。Dify はデフォルト設定でそのまま動作します。デプロイをカスタマイズするには、関連するファイルの環境変数を編集します:
-
必須の起動値 は
docker/.envにあります(デプロイ時にdocker/.env.exampleからコピーして作成したファイル)。直接編集します。 -
オプションまたはプロバイダー固有の設定 は
docker/envs/にテンプレートとして用意されています。デフォルト値を上書きするには、対応するテンプレートをコピーし(.example拡張子を外す)、コピーを編集します。例:
docker/.env の値は、docker/envs/*.env ファイルの値より優先されます。
共通変数
これらの URL 変数は、Dify の各サービスのアドレスを設定します。 Nginx 背後のシングルドメインデプロイ(デフォルトの Docker Compose 構成)の場合、これらは空のままで構いません。システムがリクエストから自動検出します。カスタムドメイン、マルチドメインデプロイ、またはリバースプロキシを使用する場合に設定してください。CONSOLE_API_URL
デフォルト値:(空) Dify バックエンド API の公開 URL。OAuth ログイン(GitHub、Google)、Notion 連携、または OAuth を必要とするプラグインを使用する場合に設定してください。これらの機能は、認証後にユーザーをリダイレクトするための絶対コールバック URL を必要とします。また、セキュア(HTTPS のみ)Cookie を使用するかどうかも決定します。 例:https://api.console.dify.ai
SERVER_CONSOLE_API_URL
デフォルト値:http://api:5001
Web フロントエンドコンテナがサーバーサイドでリクエストを送信する際に使用する Console API のアドレスです。公開ドメインを経由せず、Docker 内部ネットワークから API に直接アクセスします。この変数は Web フロントエンドコンテナでのみ使用され、Python バックエンドには影響しません。ブラウザからのリクエストは引き続き CONSOLE_API_URL を使用します。空の場合は CONSOLE_API_URL にフォールバックします。API サービスの内部アドレスが異なる場合にのみ変更してください。
CONSOLE_WEB_URL
デフォルト値:(空) Dify コンソールフロントエンドの公開 URL。すべてのシステムメール(招待、パスワードリセット、通知)のリンク構築、および OAuth ログイン後のコンソールへのリダイレクトに使用されます。CONSOLE_CORS_ALLOW_ORIGINS が設定されていない場合、デフォルトの CORS 許可オリジンとしても機能します。
空の場合、メールリンクが正しく機能しません。シングルドメインデプロイでも、メール機能を使用する場合はこの変数を設定してください。
例:https://console.dify.ai
SERVICE_API_URL
デフォルト値:(空) Dify コンソールで Developer に表示される API Base URL。Developer が Dify API を呼び出すためにコードにコピーする URL です。空の場合、現在のリクエストから自動検出されます(例:http://localhost/v1)。サーバーが複数のアドレスでアクセス可能な場合、この変数を設定して一貫した URL を確保してください。
例:https://api.dify.ai
APP_API_URL
デフォルト値:(空) WebApp フロントエンド(公開アプリ)のバックエンド API URL。この変数は Web フロントエンドコンテナでのみ使用され、Python バックエンドには影響しません。空の場合、Docker イメージのデフォルトはhttp://127.0.0.1:5001です。
例:https://api.app.dify.ai
APP_WEB_URL
デフォルト値:(空) 公開 WebApp のアクセス URL。ワークフローの 人間の入力ノード に必要です。メール通知のフォームリンクは{APP_WEB_URL}/form/{token} 形式で構築されます。空の場合、人間の入力メールに有効なフォームリンクが含まれません。
例:https://app.dify.ai
TRIGGER_URL
デフォルト値:http://localhost
Webhook および統合トリガーエンドポイントのアクセス URL。外部システムがこのアドレスを使用してワークフローを呼び出します。Dify はトリガーコールバック URL を {TRIGGER_URL}/triggers/webhook/{id} の形式で構築し、コンソールに表示します。
外部システムからトリガーが動作するようにするには、それらがアクセスできるパブリックドメインまたは IP アドレスを指定する必要があります。
FILES_URL
デフォルト値:(空;CONSOLE_API_URL にフォールバック)
ファイルプレビューおよびダウンロードリンクのベース URL です。Dify はすべてのファイル(アップロードされたドキュメント、ツール出力、ワークスペースロゴ)に対して、署名付きの時間制限 URL を生成します。生成された URL はフロントエンドとマルチモーダルモデルに提供されます。
ファイル処理プラグインを使用する場合、またはファイル URL を専用ドメインで使用したい場合に設定してください。FILES_URLと CONSOLE_API_URL の両方が空の場合、ファイルプレビューが機能しません。
例:https://upload.example.comまたはhttp://<your-ip>:5001
INTERNAL_FILES_URL
デフォルト値:(空;FILES_URL にフォールバック)
Docker ネットワーク内のサービス間通信で使用されるファイルアクセス URL(例:プラグインデーモン、PDF/Word 抽出器)。これらの内部サービスは、Nginx やパブリックドメインを Nginx 経由する外部 FILES_URL にアクセスできない場合があります。
空の場合、内部サービスは FILES_URL を使用します。内部サービスが外部 URL にアクセスできない場合に設定してください。
例:http://api:5001
FILES_ACCESS_TIMEOUT
デフォルト値:300(5 分)
署名付きファイル URL の有効期間(秒)。この時間を過ぎると URL は拒否され、ファイルを再リクエストする必要があります。長時間実行プロセスの場合は増加し、セキュリティを強化する場合は減少させてください。
ENABLE_COLLABORATION_MODE
デフォルト値:true
ワークフローキャンバスのリアルタイム共同編集(同時編集、キャンバス上のコメント、@メンション)を有効化します。
localhost 以外のホストから Dify にアクセスする場合、NEXT_PUBLIC_SOCKET_URL をブラウザから到達できる WebSocket URL に設定してください(CORS 設定 を参照)。デフォルトの ws://localhost はローカル専用環境でのみ動作します。
共同編集機能を無効化するには、この値を false に設定します。Docker Compose を使用している場合は、COMPOSE_PROFILES から collaboration も削除してください。削除しないと、専用の api_websocket コンテナはトラフィックを受け取らないまま起動し続けます。
独自のリバースプロキシを使用する場合は /socket.io/ パスで Upgrade および Connection ヘッダーを転送してください(同梱の nginx テンプレートにはこの設定が含まれています)。API を複数レプリカで運用する場合はスティッキーセッションが必要です。
システムエンコーディング
サーバー設定
ログ
一般
SECRET_KEY
デフォルト値:(.env.example にプリセット;本番環境では必ず置き換えてください)
セッション Cookie 署名、JWT 認証トークンに使用されます。さらに、ファイル URL 署名(HMAC-SHA256)とサードパーティ OAuth 資格情報の暗号化(AES-256)にも使用されます。初回起動前に、強力なキーを生成してください:
INIT_PASSWORD
デフォルト値:(空) 初回セットアップ時のオプションのセキュリティゲート。設定すると、/install ページで管理者アカウント作成前にこのパスワードの入力が必要になります。サーバーが公開されている場合の不正なセットアップを防止します。セットアップ完了後、この変数は効力を失います。最大長:30 文字。
トークンとリクエスト制限
コンテナ起動設定
Docker イメージまたは Docker Compose で起動する場合にのみ有効です。API ツール設定
データベース設定
データベースはデフォルトで PostgreSQL を使用します。OceanBase、MySQL、seekdb もサポートされています。コネクションプール
Dify がデータベースコネクションプールを管理する方法を制御します。デフォルト設定はほとんどのデプロイで問題なく動作します。PostgreSQL パフォーマンスチューニング
これらは PostgreSQL コンテナへの起動引数として渡されます。Dify アプリケーションではなく、データベースサーバーの設定です。MySQL パフォーマンスチューニング
これらは MySQL コンテナへの起動引数として渡されます。Dify アプリケーションではなく、データベースサーバーの設定です。Redis 設定
これらの変数を設定して、Dify を Redis インスタンスに接続します。Dify はスタンドアロン(デフォルト)、Sentinel、Cluster の 3 つのデプロイモードをサポートしています。Redis SSL 設定
REDIS_USE_SSL=trueの場合にのみ適用されます。Celery broker の URL が rediss:// スキームを使用する場合、これらの設定は Celery broker にも適用されます。
Redis Sentinel モード
Sentinel は高可用性のための自動マスター検出とフェイルオーバーを提供します。Cluster モードとは相互に排他的です。Redis Cluster モード
Cluster モードは複数の Redis ノード間での自動シャーディングを提供します。Sentinel モードとは相互に排他的です。Redis 接続の堅牢性設定
これらの変数は、Redis 接続のクライアント側リトライ、タイムアウト、ヘルスチェックの動作を調整します。デフォルト値は控えめに設定されています。ネットワークレイテンシが高いクラウド/WAN デプロイでは、タイムアウト値を増やしてください。Celery 設定
データセットインデックス作成、メール送信、定期ジョブに使用されるバックグラウンドタスクキューを設定します。CELERY_BROKER_URL
デフォルト値:redis://:difyai123456@redis:6379/1
Celery メッセージブローカーの Redis 接続 URL。
直接接続形式:
CORS 設定
フロントエンドのクロスドメインアクセスポリシーを制御します。ファイルストレージ設定
Dify がアップロードファイル、データセットドキュメント、暗号化キーを保存する場所を設定します。各ストレージタイプには独自の資格情報変数があります。使用するもののみを設定してください。STORAGE_TYPE
デフォルト値:opendal
ファイルストレージバックエンドを選択します。サポートされる値:opendal、s3、azure-blob、aliyun-oss、google-storage、huawei-obs、volcengine-tos、tencent-cos、baidu-obs、oci-storage、supabase、clickzetta-volume、local(非推奨;内部的に OpenDAL のファイルシステムスキームを使用)。
OpenDAL(デフォルト)
OpenDAL(デフォルト)
OPENDAL_<SCHEME>_* に一致する環境変数を自動スキャンし、OpenDAL に渡します。例えば、OPENDAL_SCHEME=s3 の場合、OPENDAL_S3_ACCESS_KEY_ID、OPENDAL_S3_SECRET_ACCESS_KEY などを設定します。fs スキームの場合:S3
S3
Azure Blob
Azure Blob
Google Cloud Storage
Google Cloud Storage
Alibaba Cloud OSS
Alibaba Cloud OSS
Tencent Cloud COS
Tencent Cloud COS
OCI Object Storage
OCI Object Storage
Huawei OBS
Huawei OBS
Volcengine TOS
Volcengine TOS
Baidu OBS
Baidu OBS
Supabase
Supabase
ClickZetta Volume
ClickZetta Volume
CLICKZETTA_* 接続パラメータを再利用します。アーカイブストレージ
ワークフロー実行ログをアーカイブするための別の S3 互換ストレージ。有料プランのリテンションシステムが保持期間を超えたワークフロー実行を JSONL 形式でアーカイブするために使用されます。BILLING_ENABLED=true が必要です。
ベクトルデータベース設定
ナレッジベースのエンベディング保存と類似検索に使用するベクトルデータベースを設定します。各プロバイダーには独自の資格情報変数があります。使用するもののみを設定してください。VECTOR_STORE
デフォルト値:weaviate
ベクトルデータベースバックエンドを選択します。データセットに既にインデックスがある場合、データセットに保存されたタイプがこの設定より優先されます。Docker Compose でプロバイダーを切り替える場合、COMPOSE_PROFILES がこの値に基づいて対応するコンテナを自動起動します。
サポートされる値:weaviate、oceanbase、seekdb、qdrant、milvus、myscale、relyt、pgvector、pgvecto-rs、chroma、opensearch、oracle、tencent、elasticsearch、elasticsearch-ja、analyticdb、couchbase、vikingdb、opengauss、tablestore、vastbase、tidb、tidb_on_qdrant、baidu、lindorm、huawei_cloud、upstash、matrixone、clickzetta、alibabacloud_mysql、iris、hologres。
Weaviate
Weaviate
OceanBase / seekdb
OceanBase / seekdb
Qdrant
Qdrant
Milvus
Milvus
MyScale
MyScale
Couchbase
Couchbase
Hologres
Hologres
PGVector
PGVector
Vastbase
Vastbase
PGVecto.RS
PGVecto.RS
AnalyticDB
AnalyticDB
TiDB Vector
TiDB Vector
MatrixOne
MatrixOne
Chroma
Chroma
Oracle
Oracle
AlibabaCloud MySQL
AlibabaCloud MySQL
Relyt
Relyt
OpenSearch
OpenSearch
Tencent Cloud VectorDB
Tencent Cloud VectorDB
Elasticsearch
Elasticsearch
Baidu Vector DB
Baidu Vector DB
VikingDB
VikingDB
Lindorm
Lindorm
OpenGauss
OpenGauss
Huawei Cloud Search
Huawei Cloud Search
Upstash Vector
Upstash Vector
TableStore
TableStore
ClickZetta
ClickZetta
InterSystems IRIS
InterSystems IRIS
ナレッジベース設定
アノテーションインポート
モデル設定
マルチモーダル設定
NGINX_CLIENT_MAX_BODY_SIZE(デフォルト 100M)によっても制限されます。アップロード制限を 100 MB を超えて増加する場合は、NGINX_CLIENT_MAX_BODY_SIZE も同様に増加してください。そうしないと、Nginx が 413 エラーでアップロードを拒否します。Sentry 設定
Sentry はエラー追跡とパフォーマンス監視を提供します。各サービスにはエラーレポートを分離するための独自の DSN があります。Notion 連携設定
ナレッジベースデータソースとして Dify を Notion に接続します。 https://www.notion.so/my-integrations で連携資格情報を取得してください。メール設定
Dify はアカウント招待、パスワードリセット、ログインコード、人間の入力ノード通知のメールを送信します。サポートされる 3 つのプロバイダーのいずれかを設定してください。メールリンクにはCONSOLE_WEB_URL の設定が必要です。 共通変数 を参照してください。
Resend
Resend
SMTP
SMTP
SMTP_USE_TLS=true、SMTP_OPPORTUNISTIC_TLS=false、ポート 465)、STARTTLS(SMTP_USE_TLS=true、SMTP_OPPORTUNISTIC_TLS=true、ポート 587)、またはプレーン(SMTP_USE_TLS=false、ポート 25)。SendGrid
SendGrid
その他の設定
インデックス作成
新規ユーザーのデフォルト設定
ワークフロー生成
トークンと招待
すべてのトークン有効期限変数は、Redis に保存されるワンタイムトークンの有効期間を制御します。期限切れ後、ユーザーは新しいトークンをリクエストする必要があります。コード実行サンドボックス
以下の設定は、API と Worker がサンドボックスに接続する方法を指定します。サンドボックスは、コードノード(Python、JavaScript)とテンプレート変換ノード(Jinja2)を分離して実行する独立したサービスです。コードとテンプレートの出力制限
API と Worker は、コードノードとテンプレート変換ノードの出力にこれらの制限を適用します。サンドボックスサービスはこれらの変数を読み取りません。変更を反映するには、サンドボックスではなく API と Worker を再起動してください。ワークフローランタイム
ワークフローストレージリポジトリ
ワークフロー実行データを処理するバックエンド実装を選択します。デフォルトのSQLAlchemy リポジトリはすべてをデータベースに保存します。代替実装(例:Celery、Logstore)は異なるストレージ戦略に使用できます。
GraphEngine ワーカープール
ワークフローログクリーンアップ
HTTP リクエストノード
ワークフローで外部 API を呼び出すために使用される HTTP リクエストノードの設定です。Webhook
SSRF 保護
Dify からのすべてのアウトバウンド HTTP リクエスト(HTTP ノード、画像ダウンロードなど)は、プロキシを経由します。このプロキシは内部/プライベート IP 範囲へのリクエストをブロックし、Server-Side Request Forgery(SSRF)攻撃を防止します。エージェント設定
Web フロントエンドサービス
これらの変数は Next.js Web フロントエンドコンテナのみで使用されます。Python バックエンドには影響しません。NEXT_PUBLIC_ENABLE_FEATURE_PREVIEW
デフォルト値:true
Go to Anything コマンドパレットの /create と /refine コマンドを有効にします。これらは自然言語の説明から Workflow や Chatflow アプリを生成・修正します。false に設定すると非表示になります。
新しい Agent(ベータ版)
新しい Agent は、Docker Compose デプロイで 2 つの追加サービス(Agent バックエンドとサンドボックス)として動作します。どちらもdocker compose up で自動的に起動します。この機能はデフォルトで有効で、設定の大部分は既存の Compose の値から導出されるため、通常は以下の変数だけを確認すれば十分です。
DIFY_AGENT_SERVER_SECRET_KEY
デフォルト値:(.env.example に開発用キーを設定済み。本番環境では必ず置き換えてください)
Agent バックエンドが内部トークンの鍵を導出するためのルートシークレットです。サンドボックス内の Agent がバックエンドを呼び出す際のトークンもここから導出されます。
デフォルトは公開された開発用キーのため、デプロイはそのまま起動しますが、このキーを知っていれば誰でもトークンを偽造できます。本番環境で使用する前に置き換えてください。
値はパディングなしの base64url テキストで、デコードするとちょうど 32 バイトになる必要があります。値が不正な場合、Agent バックエンドは起動しません。次のコマンドで生成できます:
NEXT_PUBLIC_ENABLE_AGENT_V2
デフォルト値:true
新しい Agent を Web UI に表示します。メインナビゲーションの Agents 項目と、ワークフローのノード一覧の新しい Agent ノードです。false にすると非表示になり、クラシック Agent ノードにフォールバックします。ENABLE_AGENT_V2 を置き換えるもので、こちらは引き続きフォールバックとして機能します。
AGENT_BACKEND_BASE_URL
デフォルト値:http://agent_backend:5050
API が Agent バックエンドにアクセスするためのアドレスです。Docker Compose ではデフォルトのままにします。
その他の変数は、同梱のサービスを設定するか、既存の Compose 値から導出されるため、通常は変更不要です。
データベースサービス
Docker Compose でデータベースコンテナを直接設定します。サンドボックスサービス
サンドボックスは、コードノード(Python、JavaScript、Jinja2)を実行するための隔離されたサービスです。セキュリティのためにネットワークアクセスを無効化できます。Nginx リバースプロキシ
CONSOLE_API_URL、CONSOLE_WEB_URL)も https:// を使用するように更新してください。Certbot 設定
SSRF プロキシ
内部/プライベートネットワークへのリクエストをブロックする Squid ベースの SSRF プロキシコンテナの設定です。Docker Compose
モデルプロバイダーとツールの表示順設定
アプリインターフェースで利用可能なツールとモデルプロバイダーおよびその表示順をカスタマイズします。カンマ区切りの値を使用し、項目間にスペースを入れないでください。プラグインデーモン設定
プラグインデーモンは、プラグインのライフサイクル(インストール、実行、アップグレード)を管理する独立したサービスです。API は HTTP 経由で通信します。Creator Center 設定
Creator Center(creators.dify.ai)は、Dify アプリをテンプレートとして提出する窓口です。提出されたテンプレートはレビューを経て Dify マーケットプレイスに掲載されます。コンソールの マーケットプレイスに公開 アクションは、アプリの DSL をエクスポートして Creator Center にアップロードします。ユーザー向けフローは アプリをマーケットプレイスに公開 を参照してください。
OTLP / OpenTelemetry 設定
OpenTelemetry は分散トレーシングとメトリクス収集を提供します。有効時、Dify は Flask を計装し、テレメトリデータを OTLP コレクターにエクスポートします。その他
定期タスク設定
Dify は Celery Beat を使用して、設定可能なスケジュールでバックグラウンドメンテナンスタスクを実行します。レコード保持とクリーンアップ
古いレコードのクリーンアップ方法を制御します。BILLING_ENABLED がアクティブな場合、クリーンアップは猶予期間付きでサンドボックスティアのテナントを対象とします。課金が無効(セルフホスト)の場合、クリーンアップは保持期間内のすべてのレコードに適用されます。
Aliyun SLS ログストア設定
データベースの代わりにワークフロー実行ログを外部に保存するための Aliyun Simple Log Service とのオプション統合。ログストア実装を使用するようにリポジトリ設定変数を設定して有効化します。イベントバス設定
API と Celery ワーカー間の Redis ベースのイベント転送です。ベクトルデータベースサービス設定
ベクトルデータベースコンテナ自体の設定です(Dify クライアント接続ではありません)。選択したVECTOR_STORE の変数のみが関連します。
Weaviate サービス
Weaviate サービス
Milvus サービス(ETCD + MinIO)
Milvus サービス(ETCD + MinIO)
OpenSearch サービス
OpenSearch サービス
PGVector / PGVecto.RS サービス
PGVector / PGVecto.RS サービス
Oracle / Chroma / Elasticsearch サービス
Oracle / Chroma / Elasticsearch サービス
IRIS / その他のサービス
IRIS / その他のサービス
プラグインデーモンストレージ設定
プラグインデーモンは異なるストレージバックエンドにプラグインパッケージを保存できます。PLUGIN_STORAGE_TYPE に一致するプロバイダーのみを設定してください。
プラグイン S3 ストレージ
プラグイン S3 ストレージ
プラグイン Azure Blob ストレージ
プラグイン Azure Blob ストレージ
プラグイン Tencent COS ストレージ
プラグイン Tencent COS ストレージ
プラグイン Aliyun OSS ストレージ
プラグイン Aliyun OSS ストレージ
プラグイン Volcengine TOS ストレージ
プラグイン Volcengine TOS ストレージ