Skip to main content
Dify Enterprise は Helm でデプロイします。ほとんどの変数は values.yaml ファイルで設定します。Helm チャートは固定された変数のセットを API、web、worker、enterprise の各 ConfigMap に書き込み(デフォルト値は values.yaml から取得します)、それ以外の Dify アプリケーションの変数は各サービスの extraEnv フィールドを通じて公開します。
ここに記載されている変数は参考用です。Dify アプリケーションは Helm チャートが直接設定するよりもはるかに多くの変数を読み取ります。アプリケーションレベルの完全な一覧は、アップストリームの .env.example を参照してください。values.yaml で設定されていない変数は、extraEnv を通じて追加できます(よくある質問 を参照)。values.yaml に見つからない変数は、extraEnv で設定してください。
(Helm default) と記載されているデフォルト値は、チャートが values.yaml から ConfigMap に書き込む値です。それ以外のデフォルト値は Dify アプリケーション組み込みのデフォルトで、変数が extraEnv で設定されていない場合に適用されます。

共通の変数

これらの URL 変数は、Dify の各サービスのパブリックアドレスを設定します。Helm チャートは values.yaml のドメイン設定(global.consoleApiDomainglobal.consoleWebDomain など)からこれらを導出するため、通常は変数を直接設定するのではなくドメインを設定します。

CONSOLE_API_URL

Default: global.consoleApiDomain から導出 Dify バックエンド API のパブリック URL です。OAuth 認可コールバック(GitHub、Google ログイン)、Notion 連携、OAuth を必要とするプラグインのコールバックを構築するために使用されます。また、セキュア(HTTPS 専用)クッキーを使用するかどうかも決定します。 例:https://api.console.dify.ai

CONSOLE_WEB_URL

Default: global.consoleWebDomain から導出 Dify コンソールフロントエンドのパブリック URL です。すべてのシステムメール(招待、パスワードリセット、通知)内のリンクの構築と、OAuth ログイン後にユーザーをコンソールへリダイレクトするために使用されます。また、CONSOLE_CORS_ALLOW_ORIGINS が設定されていない場合は、CORS で許可されるデフォルトのオリジンとしても機能します。 例:https://console.dify.ai

SERVICE_API_URL

Default: global.serviceApiDomain から導出 Dify コンソールで開発者に表示される API ベース URL です。Dify API を呼び出すためにコードへコピーする URL を指します。サーバーが複数のアドレスから到達可能な場合に、一貫した URL を提供するためこれを設定します。 例:https://api.dify.ai

APP_API_URL

Default: global.appApiDomain から導出 WebApp フロントエンド(公開済みアプリ)向けのバックエンド API URL です。この変数は Python バックエンドではなく、web フロントエンドのコンテナで使用されます。 例:https://api.app.dify.ai

APP_WEB_URL

Default: global.appWebDomain から導出 公開済み WebApp にアクセスできるパブリック URL です。ワークフローの Human Input ノードに必須です。メール通知内のフォームリンクは {APP_WEB_URL}/form/{token} として構築されます。空の場合、Human Input のメール配信に有効なフォームリンクが含まれません。 例:https://app.dify.ai

TRIGGER_URL

Default: global.triggerDomain から導出 Webhook トリガーおよび統合トリガーのエンドポイント向けの公開アクセス可能な URL です。外部システムはこのアドレスを使ってワークフローを呼び出します。Dify は {TRIGGER_URL}/triggers/webhook/{id} のようなトリガーコールバック URL を構築し、コンソールに表示します。トリガーを動作させるには、外部システムが到達できるパブリックドメインまたは IP を指す必要があります。

FILES_URL

Default: global.filesDomain から導出 ファイルプレビューおよびダウンロードリンクのベース URL です。Dify はすべてのファイル(アップロードされたドキュメント、ツール出力、ワークスペースロゴ)に対して署名付きの有効期限付き URL を生成し、フロントエンドおよびマルチモーダルモデルに提供します。偽造を防ぐため、ファイル URL は署名され有効期限を持ちます(FILES_ACCESS_TIMEOUT を参照)。 例:https://upload.example.com

INTERNAL_FILES_URL

Default: (空。FILES_URL にフォールバック) クラスター内部のサービス間通信(たとえばプラグインデーモンやドキュメント抽出器など)で使用されるファイルアクセス URL です。内部サービスは、Ingress やパブリックドメイン経由でルーティングされる外部の FILES_URL に到達できない場合があります。内部サービスが外部 URL に到達できない場合は、extraEnv を通じて設定してください。 例:http://dify-api-svc:5001

FILES_ACCESS_TIMEOUT

Default: 300(5 分) 署名付きファイル URL が有効である期間(秒単位)です。この時間を過ぎると URL は拒否され、ファイルを再リクエストする必要があります。長時間実行されるプロセスでは大きくし、よりセキュリティを高めたい場合は小さくします。

サーバー設定

ロギング

一般設定

SECRET_KEY

Default: チャートが設定(デプロイのシークレット設定を参照) セッションクッキーの署名、JWT 認証トークン、ファイル URL の署名(HMAC-SHA256)、サードパーティ OAuth 認証情報の暗号化(AES-256)に使用されます。Helm チャートはこれをシークレット経由で管理します。
デプロイ後にこのキーを変更すると、すべてのユーザーが即座にログアウトされ、すべてのファイル URL が無効になり、OAuth を使用するプラグイン連携が破損します。暗号化された認証情報が復元できなくなるためです。

トークンとリクエストの上限

Worker 設定

Helm チャートは worker 数を環境変数ではなく values.yaml で管理します。serverWorkerAmount は API の Gunicorn worker を制御し、celeryWorkerAmount は worker デプロイごとの Celery worker を制御します。これらは values.yaml で設定してください。

API Tool 設定

データベース設定

Helm チャートはメインのデータベース接続(ホスト、ポート、認証情報、データベース名)を個別の DB_* 変数ではなく、values.yaml と共有データベース ConfigMap を通じて設定します。以下の変数はアプリケーションの接続プールを調整するもので、extraEnv を通じて設定できます。

Redis 設定

Helm チャートは Redis 接続を values.yaml(共有 Redis 設定)を通じて設定します。アプリケーションはスタンドアロン、Sentinel、Cluster の各モードをサポートします。以下の変数はアプリケーションレベルの調整項目です。Helm デプロイではチャートの Redis 設定を優先し、調整には extraEnv を使用してください。

Redis SSL 設定

REDIS_USE_SSL=true の場合にのみ適用されます。

Redis 接続のリトライ設定

Celery 設定

Helm チャートは Celery ブローカー接続を values.yaml と共有 Celery シークレットを通じて管理します。以下の変数はアプリケーションレベルの調整項目です。

CORS 設定

フロントエンドのクロスドメインアクセスポリシーを制御します。チャートは values.yaml で設定された場合にのみこれらを書き込みます。

ファイルストレージ設定

Dify がアップロードファイル、データセットドキュメント、暗号化キーを保存する場所を設定します。各ストレージタイプには独自の認証情報変数があります。使用するものだけを設定してください。Helm デプロイでは、チャートがすでに公開していない限り、extraEnv を通じて設定します。

STORAGE_TYPE

Default: opendal ファイルストレージのバックエンドを選択します。サポートされる値:opendals3azure-blobaliyun-ossgoogle-storagehuawei-obsvolcengine-tostencent-cosbaidu-obsoci-storagesupabaseclickzetta-volumelocal(非推奨。内部的にはファイルシステムスキームの OpenDAL を使用)。
Apache OpenDAL を使用するデフォルトのストレージバックエンドです。OpenDAL は多くのストレージサービスをサポートする統一インターフェースを提供します。Dify は OPENDAL_<SCHEME>_* に一致する環境変数を自動的にスキャンし、OpenDAL に渡します。たとえば OPENDAL_SCHEME=s3 の場合、OPENDAL_S3_ACCESS_KEY_IDOPENDAL_S3_SECRET_ACCESS_KEY などを設定します。利用可能なすべてのスキームとその設定オプションについては、OpenDAL services ドキュメント を参照してください。
ClickZetta Volume は、Vector Database セクションで設定した CLICKZETTA_* 接続パラメータを再利用します。

アーカイブストレージ

ワークフロー実行ログをアーカイブするための、S3 互換の別ストレージです。保持期間より古いワークフロー実行を JSONL 形式でアーカイブするために使用されます。

ベクトルデータベース設定

ナレッジベースの埋め込み保存と類似度検索に使用するベクトルデータベースを設定します。各プロバイダーには独自の認証情報変数のセットがあります。使用するものだけを設定してください。

VECTOR_STORE

Default: weaviate ベクトルデータベースのバックエンドを選択します。データセットにすでにインデックスがある場合は、データセットに保存されたタイプがこの設定より優先されます。 サポートされる値:weaviateoceanbaseseekdbqdrantmilvusmyscalerelytpgvectorpgvecto-rschromaopensearchoracletencentelasticsearchelasticsearch-jaanalyticdbcouchbasevikingdbopengausstablestorevastbasetidbtidb_on_qdrantbaidulindormhuawei_cloudupstashmatrixoneclickzettaalibabacloud_mysqlirishologres
seekdb は OceanBase のライト版で、同じ接続設定を共有します。

ナレッジ設定

注釈のインポート

モデル設定

マルチモーダル設定

Sentry 設定

Sentry はエラートラッキングとパフォーマンス監視を提供します。Helm デプロイでは、values.yamlapi.sentryworker.sentryweb.sentry)でサービスごとに Sentry を有効にします。

Notion 連携設定

Dify をナレッジベースのデータソースとして Notion に接続します。連携の認証情報は https://www.notion.so/my-integrations で取得します。

メール設定

Dify はアカウント招待、パスワードリセット、ログインコード、Human Input ノードの通知のためにメールを送信します。サポートされる 3 つのプロバイダーのいずれかを設定します。メールリンクには CONSOLE_WEB_URL の設定が必要です(Common Variables を参照)。
3 つの TLS モード:暗黙的 TLS(SMTP_USE_TLS=trueSMTP_OPPORTUNISTIC_TLS=false、ポート 465)、STARTTLS(SMTP_USE_TLS=trueSMTP_OPPORTUNISTIC_TLS=true、ポート 587)、プレーン(SMTP_USE_TLS=false、ポート 25)。
詳細は SendGrid のドキュメント を参照してください。

その他の設定

インデックス作成

トークンと招待

すべてのトークン有効期限の変数は、Redis に保存される使い捨てトークンが有効である期間を制御します。有効期限後、ユーザーは新しいトークンをリクエストする必要があります。

コード実行サンドボックス

サンドボックスは、Python、JavaScript、Jinja2 のコードノードを分離して実行する別のサービスです。チャートは CODE_EXECUTION_ENDPOINT をクラスター内のサンドボックスサービスに自動的に設定します。

ワークフローランタイム

ワークフローストレージリポジトリ

これらは、ワークフロー実行データを処理するバックエンド実装を選択します。デフォルトの SQLAlchemy リポジトリはすべてをデータベースに保存します。

GraphEngine ワーカープール

ワークフローログのクリーンアップ

チャートは workerBeat.enableWorkflowLogCleanup を通じてこれを有効にし、beat ConfigMap に WORKFLOW_LOG_CLEANUP_ENABLED を設定します。残りの変数はチャートでは設定されません。worker および beat サービスの extraEnv を通じて設定してください。

HTTP Request ノード

これらは、ワークフローで外部 API を呼び出すために使用される HTTP Request ノードを設定します。

Webhook

SSRF 保護

Dify からのすべての外向き HTTP リクエスト(HTTP ノード、画像ダウンロードなど)は、内部/プライベート IP 範囲へのリクエストをブロックするプロキシ経由でルーティングされ、サーバーサイドリクエストフォージェリ(SSRF)攻撃を防ぎます。SSRF プロキシが有効な場合、チャートは SSRF_PROXY_HTTP_URLSSRF_PROXY_HTTPS_URL を自動的に設定します。

Agent 設定

Dify CLI とプログラム API

Web フロントエンドサービス

これらの変数は Next.js の web フロントエンドコンテナでのみ使用され、Python バックエンドには影響しません。

エンタープライズ固有の設定

これらの変数は Dify Enterprise にのみ適用されます。enterprise.enabledtrue の場合、Helm チャートはこれらを API および worker の ConfigMap に設定します。

エンタープライズテレメトリ

エンタープライズの監査とトレース用の OpenTelemetry エクスポートです。enterprise.enabledglobal.otel.enabled の両方が true の場合、チャートはこれらを有効にし、エンドポイントをクラスター内のエンタープライズコレクターに接続します。

モデルプロバイダーとツールの表示順序の設定

アプリインターフェースで利用可能なツールとモデルプロバイダー、およびそれらの表示順序をカスタマイズします。項目間にスペースを入れず、カンマ区切りの値を使用します。チャートは values.yamlapi.positionToolapi.positionProvider からこれらを書き込みます。

プラグインデーモン設定

プラグインデーモンは、プラグインのライフサイクル(インストール、実行、アップグレード)を管理する別のサービスです。プラグインデーモンが有効な場合、チャートはデーモンの URL、キー、マーケットプレイス設定を自動的に設定します。

Agent Backend 設定

以下の変数は、Agent 機能を支える agent-backend サービスに設定されます。デプロイ手順の全体は Agent Sandbox のデプロイ を参照してください。

OTLP / OpenTelemetry 設定

アプリケーションレベルの OpenTelemetry 計装です(上記のエンタープライズテレメトリとは別物)。有効にすると、Dify は Flask を計装し、OTLP コレクターにテレメトリをエクスポートします。

その他

スケジュールタスク設定

Dify は Celery Beat を使用して、設定可能なスケジュールでバックグラウンドのメンテナンスタスクを実行します。

レコードの保持とクリーンアップ

Aliyun SLS Logstore 設定

ワークフロー実行ログをデータベースではなく外部に保存するための、Aliyun Simple Log Service との任意の連携です。

イベントバス設定

API と Celery worker 間の Redis ベースのイベント転送です。

プラグインデーモンストレージ設定

プラグインデーモンは、プラグインパッケージを異なるストレージバックエンドに保存できます。PLUGIN_STORAGE_TYPE に一致するプロバイダーのみを設定してください。

よくある質問

values.yaml にない変数を設定するには?

その変数を必要とするサービス(apiworkerweb)の extraEnv フィールドを通じて追加します。たとえば、API サービスに 2 つの変数を設定するには次のようにします。
同じパターンが worker.extraEnvweb.extraEnv にも当てはまります。その変数を読み取るすべてのサービスに設定してください。

HTTP_PROXYHTTPS_PROXY を設定するには?

セキュリティ上の理由から、Dify API サービスの外向きトラフィックをプロキシ経由でルーティングする必要がある場合があります。extraEnv フィールドを使用します。