Skip to main content
⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
Difyはデフォルト設定でそのまま動作します。.envファイルの環境変数を変更することで、デプロイをカスタマイズできます。
Difyをアップグレードした後、dockerディレクトリでdiff .env .env.exampleを実行して、新しく追加または変更された変数を確認し、.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_URLCONSOLE_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)に使用されます。初回起動前に強力なキーを生成してください:
デプロイ後にこのキーを変更すると、すべてのユーザーが即座にログアウトされ、すべてのファイルURLが無効になり、OAuthを使用するプラグイン連携が壊れます。暗号化された資格情報は復元できなくなります。

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。 直接接続形式:
Sentinelモード形式(複数ノードはセミコロンで区切り):

CORS設定

フロントエンドのクロスドメインアクセスポリシーを制御します。

ファイルストレージ設定

Difyがアップロードファイル、データセットドキュメント、暗号化キーを保存する場所を設定します。各ストレージタイプには独自の資格情報変数があります。使用するもののみを設定してください。

STORAGE_TYPE

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

アーカイブストレージ

ワークフロー実行ログをアーカイブするための別のS3互換ストレージ。有料プランのリテンションシステムが保持期間を超えたワークフロー実行をJSONL形式でアーカイブするために使用されます。BILLING_ENABLED=trueが必要です。

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

ナレッジベースのエンベディング保存と類似検索に使用するベクトルデータベースを設定します。各プロバイダーには独自の資格情報変数があります。使用するもののみを設定してください。

VECTOR_STORE

デフォルト値:weaviate ベクトルデータベースバックエンドを選択します。データセットに既にインデックスがある場合、データセットに保存されたタイプがこの設定より優先されます。Docker Composeでプロバイダーを切り替える場合、COMPOSE_PROFILESがこの値に基づいて対応するコンテナを自動起動します。 サポートされる値:weaviateoceanbaseseekdbqdrantmilvusmyscalerelytpgvectorpgvecto-rschromaopensearchoracletencentelasticsearchelasticsearch-jaanalyticdbcouchbasevikingdbopengausstablestorevastbasetidbtidb_on_qdrantbaidulindormhuawei_cloudupstashmatrixoneclickzettaalibabacloud_mysqlirishologres
seekdbはOceanBaseのライト版であり、同じ接続設定を共有します。

ナレッジベース設定

アノテーションインポート

モデル設定

マルチモーダル設定

すべてのアップロードサイズ制限は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の設定が必要です。共通変数を参照してください。
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コードノードを分離して実行する独立したサービスです。

ワークフローランタイム

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

ワークフロー実行データを処理するバックエンド実装を選択します。デフォルトの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リバースプロキシ

HTTPSを有効化した後、共通変数のURL変数(例:CONSOLE_API_URLCONSOLE_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の変数のみが関連します。

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

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