.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
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を専用ドメインで使用したい場合に設定してください。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は拒否され、ファイルを再リクエストする必要があります。長時間実行プロセスの場合は増加し、セキュリティを強化する場合は減少させてください。
システムエンコーディング
サーバー設定
ログ
一般
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モードとは相互に排他的です。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に保存されるワンタイムトークンの有効期間を制御します。期限切れ後、ユーザーは新しいトークンをリクエストする必要があります。コード実行サンドボックス
サンドボックスは、Python、JavaScript、Jinja2コードノードを分離して実行する独立したサービスです。ワークフローランタイム
ワークフローストレージリポジトリ
ワークフロー実行データを処理するバックエンド実装を選択します。デフォルトのSQLAlchemyリポジトリはすべてをデータベースに保存します。代替実装(例:Celery、Logstore)は異なるストレージ戦略に使用できます。
GraphEngineワーカープール
ワークフローログクリーンアップ
HTTPリクエストノード
ワークフローで外部APIを呼び出すために使用されるHTTPリクエストノードの設定です。Webhook
SSRF保護
DifyからのすべてのアウトバウンドHTTPリクエスト(HTTPノード、画像ダウンロードなど)は、内部/プライベートIP範囲へのリクエストをブロックするプロキシを経由し、Server-Side Request Forgery(SSRF)攻撃を防止します。エージェント設定
Webフロントエンドサービス
これらの変数はNext.js Webフロントエンドコンテナのみで使用されます。Pythonバックエンドには影響しません。データベースサービス
Docker Composeでデータベースコンテナを直接設定します。サンドボックスサービス
サンドボックスは、コードノード(Python、JavaScript、Jinja2)を実行するための隔離されたサービスです。セキュリティのためにネットワークアクセスを無効化できます。Nginxリバースプロキシ
CONSOLE_API_URL、CONSOLE_WEB_URL)もhttps://を使用するように更新してください。Certbot設定
SSRFプロキシ
内部/プライベートネットワークへのリクエストをブロックするSquidベースのSSRFプロキシコンテナの設定です。Docker Compose
モデルプロバイダーとツールの表示順設定
アプリインターフェースで利用可能なツールとモデルプロバイダーおよびその表示順をカスタマイズします。カンマ区切りの値を使用し、項目間にスペースを入れないでください。プラグインデーモン設定
プラグインデーモンは、プラグインのライフサイクル(インストール、実行、アップグレード)を管理する独立したサービスです。APIはHTTP経由で通信します。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ストレージ