メインコンテンツへスキップ
⚠️ このドキュメントは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は拒否され、ファイルを再リクエストする必要があります。長時間実行プロセスの場合は増加し、セキュリティを強化する場合は減少させてください。

システムエンコーディング

変数デフォルト値説明
LANGC.UTF-8システムロケール設定。UTF-8エンコーディングを保証します。
LC_ALLC.UTF-8すべてのカテゴリのロケールオーバーライド。
PYTHONIOENCODINGutf-8Python I/Oエンコーディング。
UV_CACHE_DIR/tmp/.uv-cacheUVパッケージマネージャーのキャッシュディレクトリ。存在しないホームディレクトリによる権限問題を回避します。

サーバー設定

ログ

変数デフォルト値説明
LOG_LEVELINFO最小ログレベル。すべてのハンドラー(ファイル+コンソール)のログ記録内容を制御します。レベル(低→高):DEBUGINFOWARNINGERRORCRITICAL
LOG_OUTPUT_FORMATtexttextはタイムスタンプ、レベル、スレッド、トレースIDを含む人間可読な形式を出力します。jsonはログ集約ツール(ELK、Datadogなど)向けの構造化JSONを出力します。
LOG_FILE/app/logs/server.logログファイルパス。設定するとファイルベースのログ記録が有効になり、自動ローテーションされます。ディレクトリは自動作成されます。空の場合はコンソールにのみ出力されます。
LOG_FILE_MAX_SIZE20ローテーション前のログファイル最大サイズ(MB)。超過すると現在のファイルが.1にリネームされ、新しいファイルが作成されます。
LOG_FILE_BACKUP_COUNT5保持するローテーションログファイル数。デフォルト設定では最大6ファイル(現在のファイル+5バックアップ)が存在します。
LOG_DATEFORMAT%Y-%m-%d %H:%M:%Sテキスト形式ログのタイムスタンプフォーマット(strftimeコード)。JSON形式では無視されます。
LOG_TZUTCログタイムスタンプのタイムゾーン(pytz形式、例:Asia/Shanghai)。テキスト形式にのみ適用されます。JSONは常にUTCを使用します。Celeryのタスクスケジューリングタイムゾーンも設定します。

一般

変数デフォルト値説明
DEBUGfalse詳細ログを有効化:ワークフローノードの入出力、ツール実行の詳細、完全なLLMプロンプトとレスポンス、アプリ起動時間。ローカル開発に有用です。ログに機密データが出力される可能性があるため、本番環境では推奨しません。
FLASK_DEBUGfalse標準Flaskデバッグモードフラグ。Difyでは積極的に使用されていません。DEBUGが主要な制御変数です。
ENABLE_REQUEST_LOGGINGfalseすべてのHTTPリクエストに対してコンパクトなアクセスログ(METHOD PATH STATUS DURATION TRACE_ID)を記録します。LOG_LEVELDEBUGに設定されている場合、完全なリクエストとレスポンスボディもJSON形式で記録されます。
DEPLOY_ENVPRODUCTIONSentryとOpenTelemetryの監視データにタグ付けし、環境別にエラーとトレースをフィルタリングできるようにします。X-Envレスポンスヘッダーとしても送信されます。アプリケーションの動作は変更しません。
MIGRATION_ENABLEDtruetrueの場合、コンテナ起動時にデータベーススキーママイグレーション(flask upgrade-db)を自動実行します。Dockerのみ。マイグレーションを別途実行する場合はfalseに設定してください。ソースコードからの起動では、flask db upgradeを手動で実行してください。
CHECK_UPDATE_URLhttps://updates.dify.aiコンソールがこのURLでDifyの新バージョンを確認します。空に設定すると無効化されます。エアギャップ環境や外部HTTPコールを防止したい場合に有用です。
OPENAI_API_BASEhttps://api.openai.com/v1レガシー変数。Dify自身のコードでは積極的に使用されていません。環境に存在する場合、OpenAI Python SDKに読み取られる可能性があります。

SECRET_KEY

デフォルト値:(.env.exampleにプリセット;本番環境では必ず置き換えてください) セッションCookie署名、JWT認証トークン、ファイルURL署名(HMAC-SHA256)、およびサードパーティOAuth資格情報の暗号化(AES-256)に使用されます。初回起動前に強力なキーを生成してください:
openssl rand -base64 42
デプロイ後にこのキーを変更すると、すべてのユーザーが即座にログアウトされ、すべてのファイルURLが無効になり、OAuthを使用するプラグイン連携が壊れます。暗号化された資格情報は復元できなくなります。

INIT_PASSWORD

デフォルト値:(空) 初回セットアップ時のオプションのセキュリティゲート。設定すると、/installページで管理者アカウント作成前にこのパスワードの入力が必要になります。サーバーが公開されている場合の不正なセットアップを防止します。セットアップ完了後、この変数は効力を失います。最大長:30文字。

トークンとリクエスト制限

変数デフォルト値説明
ACCESS_TOKEN_EXPIRE_MINUTES60ログインセッションのアクセストークンの有効期間(分)。期限切れ後、ブラウザがリフレッシュトークンを使用してサイレントに更新します。ユーザーはログアウトされません。
REFRESH_TOKEN_EXPIRE_DAYS30資格情報を再入力せずにログイン状態を維持できる期間(日)。この期間内にアクセスがない場合、再ログインが必要です。
APP_MAX_EXECUTION_TIME1200アプリ実行の最大実行時間(秒)。超過すると終了されます。WORKFLOW_MAX_EXECUTION_TIMEと連動し、両方ともデフォルトは20分ですが、これはアプリキューレベルで適用され、もう一方はワークフローエンジンレベルで適用されます。ワークフローにより多くの時間が必要な場合は、両方を増加してください。
APP_DEFAULT_ACTIVE_REQUESTS0アプリごとのデフォルト同時リクエスト制限。UIでカスタム制限が設定されていないアプリに使用されます。0は無制限を意味します。有効な制限はこの値とAPP_MAX_ACTIVE_REQUESTSの小さい方になります。
APP_MAX_ACTIVE_REQUESTS0アプリごとのグローバル同時リクエスト上限。アプリのカスタム設定がこの値を超える場合、オーバーライドされます。0は無制限を意味します。

コンテナ起動設定

DockerイメージまたはDocker Composeで起動する場合にのみ有効です。
変数デフォルト値説明
DIFY_BIND_ADDRESS0.0.0.0APIサーバーがバインドするネットワークインターフェース。0.0.0.0はすべてのインターフェースでリッスンします。127.0.0.1に設定するとローカルホストのみに制限されます。
DIFY_PORT5001APIサーバーのリッスンポート。
SERVER_WORKER_AMOUNT1Gunicornワーカープロセス数。gevent(デフォルト)使用時は各ワーカーがgreenletで複数の同時接続を処理するため、通常1で十分です。同期ワーカーの場合は(2 x CPUコア数) + 1を使用してください。参考ドキュメント
SERVER_WORKER_CLASSgeventGunicornワーカータイプ。Geventは軽量な非同期並行処理を提供します。この設定を変更するとpsycopg2とgRPCのパッチが壊れます。変更は強く非推奨です。
SERVER_WORKER_CONNECTIONS10ワーカーごとの最大同時接続数。非同期ワーカー(gevent)にのみ適用されます。高負荷時に接続拒否やレスポンス遅延が発生する場合は、この値を増加してください。
GUNICORN_TIMEOUT360ワーカーがこの秒数以内に応答しない場合、Gunicornはそのワーカーを終了して再起動します。ストリーミングLLMレスポンスに使用される長時間SSE接続をサポートするため、360(6分)に設定されています。
CELERY_WORKER_CLASS(空;デフォルトはgevent)Celeryワーカータイプ。SERVER_WORKER_CLASSと同じgeventパッチ要件があります。変更は強く非推奨です。
CELERY_WORKER_AMOUNT(空;デフォルトは1)Celeryワーカープロセス数。オートスケーリング無効時のみ使用されます。
CELERY_AUTO_SCALEfalse動的オートスケーリングを有効化。有効時、Celeryはキュー深度を監視し、CELERY_MIN_WORKERSからCELERY_MAX_WORKERSの間でワーカーを動的に生成/終了します。
CELERY_MAX_WORKERS(空;デフォルトはCPU数)オートスケーリング有効時の最大ワーカー数。
CELERY_MIN_WORKERS(空;デフォルトは1)オートスケーリング有効時の最小ワーカー数。

APIツール設定

変数デフォルト値説明
API_TOOL_DEFAULT_CONNECT_TIMEOUT10APIツールノードが外部APIを呼び出す際のTCP接続確立の最大待機時間(秒)。
API_TOOL_DEFAULT_READ_TIMEOUT60APIツールノードが外部APIからレスポンスデータを受信する最大待機時間(秒)。

データベース設定

データベースはデフォルトでPostgreSQLを使用します。OceanBase、MySQL、seekdbもサポートされています。
変数デフォルト値説明
DB_TYPEpostgresqlデータベースタイプ。サポートされる値:postgresqlmysqloceanbaseseekdb。TiDBなどのMySQL互換データベースはmysqlを使用できます。
DB_USERNAMEpostgresデータベースユーザー名。接続文字列でURLエンコードされるため、特殊文字も安全に使用できます。
DB_PASSWORDdifyai123456データベースパスワード。接続文字列でURLエンコードされるため、@:%などの文字も安全に使用できます。
DB_HOSTdb_postgresデータベースサーバーのホスト名。
DB_PORT5432データベースサーバーのポート。MySQLを使用する場合は3306に設定してください。
DB_DATABASEdifyデータベース名。

コネクションプール

Difyがデータベースコネクションプールを管理する方法を制御します。デフォルト設定はほとんどのデプロイで問題なく動作します。
変数デフォルト値説明
SQLALCHEMY_POOL_SIZE30プール内に保持する永続接続数。
SQLALCHEMY_MAX_OVERFLOW10プールが満杯の場合に許可される追加の一時接続数。デフォルト設定では、最大40接続(30 + 10)が同時に存在できます。
SQLALCHEMY_POOL_RECYCLE3600この秒数の後に接続をリサイクルし、古い接続を防止します。
SQLALCHEMY_POOL_TIMEOUT30プールが枯渇した場合の接続待機時間。この時間内に接続が解放されない場合、リクエストはタイムアウトエラーで失敗します。
SQLALCHEMY_POOL_PRE_PINGfalse使用前に軽量クエリで接続をテストします。「接続切断」エラーを防止しますが、わずかなレイテンシーが追加されます。不安定なネットワークの本番環境で推奨されます。
SQLALCHEMY_POOL_USE_LIFOfalse均等ローテーション(FIFO)の代わりに、最後に返却された接続を再利用します(LIFO)。LIFOはより少ない接続を「ウォーム」状態に保ち、オーバーヘッドを削減できます。
SQLALCHEMY_ECHOfalseすべてのSQL文をログに出力します。クエリ問題のデバッグに有用です。

PostgreSQLパフォーマンスチューニング

これらはPostgreSQLコンテナへの起動引数として渡されます。Difyアプリケーションではなく、データベースサーバーの設定です。
変数デフォルト値説明
POSTGRES_MAX_CONNECTIONS100最大データベース接続数。参考ドキュメント
POSTGRES_SHARED_BUFFERS128MBバッファ用共有メモリ。推奨値:利用可能メモリの25%。参考ドキュメント
POSTGRES_WORK_MEM4MBデータベースワーカーごとの作業メモリ。参考ドキュメント
POSTGRES_MAINTENANCE_WORK_MEM64MBメンテナンス作業用に予約されるメモリ。参考ドキュメント
POSTGRES_EFFECTIVE_CACHE_SIZE4096MBプランナーの有効キャッシュサイズの推定値。参考ドキュメント
POSTGRES_STATEMENT_TIMEOUT0ステートメント終了前の最大実行時間(ミリ秒)。0はタイムアウトなし。参考ドキュメント
POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT0トランザクション内アイドルセッションの最大時間(ミリ秒)。0はタイムアウトなし。参考ドキュメント

MySQLパフォーマンスチューニング

これらはMySQLコンテナへの起動引数として渡されます。Difyアプリケーションではなく、データベースサーバーの設定です。
変数デフォルト値説明
MYSQL_MAX_CONNECTIONS1000最大MySQL接続数。
MYSQL_INNODB_BUFFER_POOL_SIZE512MInnoDBバッファプールサイズ。推奨値:専用MySQLサーバーの利用可能メモリの70-80%。参考ドキュメント
MYSQL_INNODB_LOG_FILE_SIZE128MInnoDBログファイルサイズ。参考ドキュメント
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT2トランザクションコミット時のInnoDBログフラッシュ方式。オプション:0(フラッシュなし)、1(フラッシュ&同期)、2(OSキャッシュへフラッシュ)。参考ドキュメント

Redis設定

これらの変数を設定して、DifyをRedisインスタンスに接続します。Difyはスタンドアロン(デフォルト)、Sentinel、Clusterの3つのデプロイモードをサポートしています。
変数デフォルト値説明
REDIS_HOSTredisRedisサーバーのホスト名。スタンドアロンモードでのみ使用されます。SentinelまたはClusterモード有効時は無視されます。
REDIS_PORT6379Redisサーバーのポート。スタンドアロンモードでのみ使用されます。
REDIS_USERNAME(空)Redis 6.0+ ACLユーザー名。すべてのモード(スタンドアロン、Sentinel、Cluster)に適用されます。
REDIS_PASSWORDdifyai123456Redis認証パスワード。Clusterモードの場合は、代わりにREDIS_CLUSTERS_PASSWORDを使用してください。
REDIS_DB0Redisデータベース番号(0-15)。スタンドアロンおよびSentinelモードにのみ適用されます。Celeryのデータベース(CELERY_BROKER_URLで設定;デフォルトはDB 1)と衝突しないようにしてください。
REDIS_USE_SSLfalseRedis接続のSSL/TLSを有効化。Sentinelプロトコルには自動適用されません。
REDIS_MAX_CONNECTIONS(空)Redisプール内の最大接続数。空のままでライブラリのデフォルトを使用します。必要に応じてRedisサーバーのmaxclientsに合わせて設定してください。

Redis SSL設定

REDIS_USE_SSL=trueの場合にのみ適用されます。Celery brokerのURLがrediss://スキームを使用する場合、これらの設定はCelery brokerにも適用されます。
変数デフォルト値説明
REDIS_SSL_CERT_REQSCERT_NONE証明書検証レベル:CERT_NONE(検証なし)、CERT_OPTIONAL(オプション検証)、またはCERT_REQUIRED(完全検証)。
REDIS_SSL_CA_CERTS(空)Redisサーバー検証用のCA証明書ファイルパス。
REDIS_SSL_CERTFILE(空)相互TLS認証用のクライアント証明書パス。
REDIS_SSL_KEYFILE(空)相互TLS認証用のクライアント秘密鍵パス。

Redis Sentinelモード

Sentinelは高可用性のための自動マスター検出とフェイルオーバーを提供します。Clusterモードとは相互に排他的です。
変数デフォルト値説明
REDIS_USE_SENTINELfalseRedis Sentinelモードを有効化。有効時、REDIS_HOST/REDIS_PORTは無視されます。DifyはSentinelノードに接続し、現在のマスターを問い合わせます。
REDIS_SENTINELS(空)Sentinelノードのアドレス。形式:<ip1>:<port1>,<ip2>:<port2>,<ip3>:<port3>。これらはSentinelインスタンスであり、Redisサーバーではありません。
REDIS_SENTINEL_SERVICE_NAME(空)Sentinelが監視する論理サービス名(sentinel.confで設定)。Difyはmaster_for(service_name)を呼び出して現在のマスターを検出します。
REDIS_SENTINEL_USERNAME(空)Sentinelノードの認証ユーザー名。REDIS_USERNAMEとは別です。後者はRedisマスター/レプリカの認証に使用されます。
REDIS_SENTINEL_PASSWORD(空)Sentinelノードの認証パスワード。REDIS_PASSWORDとは別です。
REDIS_SENTINEL_SOCKET_TIMEOUT0.1Sentinelノードとの通信のSocketタイムアウト(秒)。デフォルトの0.1秒は高速なローカルネットワークを想定しています。クラウド/WANデプロイでは、断続的なタイムアウトを防止するために1.0-5.0秒に増加してください。

Redis Clusterモード

Clusterモードは複数のRedisノード間での自動シャーディングを提供します。Sentinelモードとは相互に排他的です。
変数デフォルト値説明
REDIS_USE_CLUSTERSfalseRedis Clusterモードを有効化。
REDIS_CLUSTERS(空)Clusterノード。形式:<ip1>:<port1>,<ip2>:<port2>,<ip3>:<port3>
REDIS_CLUSTERS_PASSWORD(空)Redis Clusterのパスワード。

Celery設定

データセットインデックス作成、メール送信、定期ジョブに使用されるバックグラウンドタスクキューを設定します。

CELERY_BROKER_URL

デフォルト値:redis://:difyai123456@redis:6379/1 CeleryメッセージブローカーのRedis接続URL。 直接接続形式:
redis://<redis_username>:<redis_password>@<redis_host>:<redis_port>/<redis_database>
Sentinelモード形式(複数ノードはセミコロンで区切り):
sentinel://<redis_username>:<redis_password>@<sentinel_host>:<sentinel_port>/<redis_database>
変数デフォルト値説明
CELERY_BACKENDredisCeleryがタスク結果を保存する場所。オプション:redis(高速、インメモリ)またはdatabase(メインデータベースに保存)。
BROKER_USE_SSLfalseCELERY_BROKER_URLrediss://スキームを使用する場合に自動有効化。Redis SSL証明書設定をbroker接続に適用します。
CELERY_USE_SENTINELfalseCelery brokerのRedis Sentinelモードを有効化。
CELERY_SENTINEL_MASTER_NAME(空)Sentinelサービス名(Master Name)。
CELERY_SENTINEL_PASSWORD(空)Sentinel認証パスワード。REDIS_SENTINEL_PASSWORDとは別です。キャッシュとタスクキューで異なるSentinelクラスターを使用する場合に異なる値を設定できます。
CELERY_SENTINEL_SOCKET_TIMEOUT0.1Sentinelへの接続タイムアウト(秒)。
CELERY_TASK_ANNOTATIONSnull特定のタスクにランタイム設定(例:レート制限)を適用します。形式:JSON辞書。例:{"tasks.add": {"rate_limit": "10/s"}}。ほとんどのユーザーはこの設定を必要としません。

CORS設定

フロントエンドのクロスドメインアクセスポリシーを制御します。
変数デフォルト値説明
WEB_API_CORS_ALLOW_ORIGINS*Web APIへのクロスオリジンリクエストの許可オリジン。例:https://dify.app
CONSOLE_CORS_ALLOW_ORIGINS*コンソールAPIへのクロスオリジンリクエストの許可オリジン。設定されていない場合、CONSOLE_WEB_URLにフォールバックします。
COOKIE_DOMAIN(空)フロントエンドとバックエンドが異なるサブドメインで実行される場合、共有トップレベルドメイン(例:example.com)に設定します。これにより認証Cookieをサブドメイン間で共有できます。空の場合、Cookieは最もセキュアな__Host-プレフィックスを使用し、単一ドメインにロックされます。
NEXT_PUBLIC_COOKIE_DOMAIN(空)クロスサブドメインCookieのフロントエンドフラグ。1(または任意の非空値)に設定して有効化します。実際のドメインはバックエンドでCOOKIE_DOMAINから読み取られます。
NEXT_PUBLIC_BATCH_CONCURRENCY5フロントエンドのみ。バッチ操作時にUIが発行する同時APIコール数を制御します。

ファイルストレージ設定

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などを設定します。
変数デフォルト値説明
OPENDAL_SCHEMEfs使用するストレージサービス。例:fs(ローカルファイルシステム)、s3gcsazblob
デフォルトのfsスキームの場合:
変数デフォルト値説明
OPENDAL_FS_ROOTstorageローカルファイルシステムストレージのルートディレクトリ。存在しない場合は自動作成されます。
利用可能なすべてのスキームとその設定オプションについては、OpenDALサービスドキュメントを参照してください。
変数デフォルト値説明
S3_ENDPOINT(空)S3エンドポイントアドレス。AWS以外のS3互換サービス(MinIOなど)では必須です。
S3_REGIONus-east-1S3リージョン。
S3_BUCKET_NAMEdifyaiS3バケット名。
S3_ACCESS_KEY(空)S3 Access Key。IAMロール使用時は不要です。
S3_SECRET_KEY(空)S3 Secret Key。IAMロール使用時は不要です。
S3_USE_AWS_MANAGED_IAMfalse明示的なaccess key/secret keyの代わりにAWS IAMロール(EC2インスタンスプロファイル、ECSタスクロール)を使用します。有効時、boto3がインスタンスメタデータから資格情報を自動検出します。
変数デフォルト値説明
AZURE_BLOB_ACCOUNT_NAMEdifyaiAzureストレージアカウント名。
AZURE_BLOB_ACCOUNT_KEYdifyaiAzureストレージアカウントキー。
AZURE_BLOB_CONTAINER_NAMEdifyai-containerAzure Blobコンテナ名。
AZURE_BLOB_ACCOUNT_URLhttps://<your_account_name>.blob.core.windows.netAzure BlobアカウントURL。
変数デフォルト値説明
GOOGLE_STORAGE_BUCKET_NAME(空)Google Cloud Storageバケット名。
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64(空)Base64エンコードされたサービスアカウントJSONキー。
変数デフォルト値説明
ALIYUN_OSS_BUCKET_NAME(空)OSSバケット名。
ALIYUN_OSS_ACCESS_KEY(空)OSS access key。
ALIYUN_OSS_SECRET_KEY(空)OSS secret key。
ALIYUN_OSS_ENDPOINThttps://oss-ap-southeast-1-internal.aliyuncs.comOSSエンドポイント。リージョンとエンドポイントのリファレンス
ALIYUN_OSS_REGIONap-southeast-1OSSリージョン。
ALIYUN_OSS_AUTH_VERSIONv4OSS認証バージョン。
ALIYUN_OSS_PATH(空)オブジェクトパスプレフィックス。/で始めないでください。参考ドキュメント
ALIYUN_CLOUDBOX_ID(空)CloudBoxベースのOSSデプロイ用のCloudBox ID。
変数デフォルト値説明
TENCENT_COS_BUCKET_NAME(空)COSバケット名。
TENCENT_COS_SECRET_KEY(空)COS secret key。
TENCENT_COS_SECRET_ID(空)COS secret ID。
TENCENT_COS_REGION(空)COSリージョン(例:ap-guangzhou)。参考ドキュメント
TENCENT_COS_SCHEME(空)COSアクセス用プロトコル(httpまたはhttps)。
TENCENT_COS_CUSTOM_DOMAIN(空)COSアクセス用カスタムドメイン。
変数デフォルト値説明
OCI_ENDPOINT(空)OCIエンドポイントURL。
OCI_BUCKET_NAME(空)OCIバケット名。
OCI_ACCESS_KEY(空)OCI access key。
OCI_SECRET_KEY(空)OCI secret key。
OCI_REGIONus-ashburn-1OCIリージョン。
変数デフォルト値説明
HUAWEI_OBS_BUCKET_NAME(空)OBSバケット名。
HUAWEI_OBS_ACCESS_KEY(空)OBS access key。
HUAWEI_OBS_SECRET_KEY(空)OBS secret key。
HUAWEI_OBS_SERVER(空)OBSサーバーURL。参考ドキュメント
HUAWEI_OBS_PATH_STYLEfalse仮想ホスト型の代わりにパス型URLを使用。
変数デフォルト値説明
VOLCENGINE_TOS_BUCKET_NAME(空)TOSバケット名。
VOLCENGINE_TOS_ACCESS_KEY(空)TOS access key。
VOLCENGINE_TOS_SECRET_KEY(空)TOS secret key。
VOLCENGINE_TOS_ENDPOINT(空)TOSエンドポイントURL。参考ドキュメント
VOLCENGINE_TOS_REGION(空)TOSリージョン(例:cn-guangzhou)。
変数デフォルト値説明
BAIDU_OBS_BUCKET_NAME(空)Baidu OBSバケット名。
BAIDU_OBS_ACCESS_KEY(空)Baidu OBS access key。
BAIDU_OBS_SECRET_KEY(空)Baidu OBS secret key。
BAIDU_OBS_ENDPOINT(空)Baidu OBSサーバーURL。
変数デフォルト値説明
SUPABASE_BUCKET_NAME(空)Supabaseストレージバケット名。
SUPABASE_API_KEY(空)Supabase APIキー。
SUPABASE_URL(空)SupabaseサーバーURL。
変数デフォルト値説明
CLICKZETTA_VOLUME_TYPEuserボリュームタイプ。オプション:user(個人/小規模チーム)、table(エンタープライズマルチテナント)、external(データレイク統合)。
CLICKZETTA_VOLUME_NAME(空)外部ボリューム名(TYPE=externalの場合のみ必要)。
CLICKZETTA_VOLUME_TABLE_PREFIXdataset_テーブルボリュームのテーブルプレフィックス(TYPE=tableの場合のみ使用)。
CLICKZETTA_VOLUME_DIFY_PREFIXdify_km他のアプリから分離するためのDifyファイルディレクトリプレフィックス。
ClickZetta Volumeは、ベクトルデータベースセクションで設定されたCLICKZETTA_*接続パラメータを再利用します。

アーカイブストレージ

ワークフロー実行ログをアーカイブするための別のS3互換ストレージ。有料プランのリテンションシステムが保持期間を超えたワークフロー実行をJSONL形式でアーカイブするために使用されます。BILLING_ENABLED=trueが必要です。
変数デフォルト値説明
ARCHIVE_STORAGE_ENABLEDfalseワークフローログアーカイブ用のアーカイブストレージを有効化。
ARCHIVE_STORAGE_ENDPOINT(空)S3互換エンドポイントURL。
ARCHIVE_STORAGE_ARCHIVE_BUCKET(空)アーカイブされたワークフロー実行ログ用バケット。
ARCHIVE_STORAGE_EXPORT_BUCKET(空)ワークフロー実行エクスポート用バケット。
ARCHIVE_STORAGE_ACCESS_KEY(空)Access key。
ARCHIVE_STORAGE_SECRET_KEY(空)Secret key。
ARCHIVE_STORAGE_REGIONautoストレージリージョン。

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

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

VECTOR_STORE

デフォルト値:weaviate ベクトルデータベースバックエンドを選択します。データセットに既にインデックスがある場合、データセットに保存されたタイプがこの設定より優先されます。Docker Composeでプロバイダーを切り替える場合、COMPOSE_PROFILESがこの値に基づいて対応するコンテナを自動起動します。 サポートされる値:weaviateoceanbaseseekdbqdrantmilvusmyscalerelytpgvectorpgvecto-rschromaopensearchoracletencentelasticsearchelasticsearch-jaanalyticdbcouchbasevikingdbopengausstablestorevastbasetidbtidb_on_qdrantbaidulindormhuawei_cloudupstashmatrixoneclickzettaalibabacloud_mysqlirishologres
変数デフォルト値説明
VECTOR_INDEX_NAME_PREFIXVector_indexベクトルデータベースのコレクション名に追加されるプレフィックス。複数のDifyデプロイでベクトルデータベースインスタンスを共有する場合に変更してください。
変数デフォルト値説明
WEAVIATE_ENDPOINThttp://weaviate:8080Weaviate REST APIエンドポイント。
WEAVIATE_API_KEY(空)Weaviate認証用APIキー。
WEAVIATE_GRPC_ENDPOINTgrpc://weaviate:50051高性能バイナリプロトコル用の別のgRPCエンドポイント。バッチ操作が大幅に高速になります。未設定の場合、HTTPエンドポイントから推測されます。
WEAVIATE_TOKENIZATIONwordテキストフィールドのトークン化方法。オプション:word(空白と句読点で分割)、whitespace(空白のみで分割)、character(文字レベル、CJK言語に適しています)。
seekdbはOceanBaseのライト版であり、同じ接続設定を共有します。
変数デフォルト値説明
OCEANBASE_VECTOR_HOSToceanbaseホスト名またはIPアドレス。
OCEANBASE_VECTOR_PORT2881ポート番号。
OCEANBASE_VECTOR_USERroot@testデータベースユーザー名。
OCEANBASE_VECTOR_PASSWORDdifyai123456データベースパスワード。
OCEANBASE_VECTOR_DATABASEtestデータベース名。
OCEANBASE_CLUSTER_NAMEdifyaiクラスター名(Dockerデプロイのみ)。
OCEANBASE_MEMORY_LIMIT6GOceanBaseのメモリ制限(Dockerデプロイのみ)。
SEEKDB_MEMORY_LIMIT2Gseekdbのメモリ制限(Dockerデプロイのみ)。
OCEANBASE_ENABLE_HYBRID_SEARCHfalseベクトル検索と併用するBM25クエリ用の全文インデックスを有効化。OceanBase >= 4.3.5.1が必要です。有効化後にコレクションを再作成する必要があります。
OCEANBASE_FULLTEXT_PARSERik全文パーサー。組み込み:ngrambengspacengram2ik。外部(プラグインが必要):japanese_ftparserthai_ftparser
変数デフォルト値説明
QDRANT_URLhttp://qdrant:6333Qdrantエンドポイントアドレス。
QDRANT_API_KEYdifyai123456Qdrant用APIキー。
QDRANT_CLIENT_TIMEOUT20クライアントタイムアウト(秒)。
QDRANT_GRPC_ENABLEDfalsegRPC通信を有効化。
QDRANT_GRPC_PORT6334gRPCポート。
QDRANT_REPLICATION_FACTOR1シャードごとのレプリカ数。
変数デフォルト値説明
MILVUS_URIhttp://host.docker.internal:19530Milvus URI。Zilliz Cloudの場合はPublic Endpointを使用してください。
MILVUS_DATABASE(空)データベース名。
MILVUS_TOKEN(空)認証トークン。Zilliz Cloudの場合はAPI Keyを使用してください。
MILVUS_USER(空)ユーザー名。
MILVUS_PASSWORD(空)パスワード。
MILVUS_ENABLE_HYBRID_SEARCHfalseベクトル類似検索と併用するBM25スパースインデックスによる全文検索を有効化。Milvus >= 2.5.0が必要です。この機能を有効にせずに作成されたコレクションは再作成が必要です。
MILVUS_ANALYZER_PARAMS(空)テキストフィールドのアナライザーパラメータ。
変数デフォルト値説明
MYSCALE_HOSTmyscaleMyScaleホスト。
MYSCALE_PORT8123MyScaleポート。
MYSCALE_USERdefaultユーザー名。
MYSCALE_PASSWORD(空)パスワード。
MYSCALE_DATABASEdifyデータベース名。
MYSCALE_FTS_PARAMS(空)全文検索パラメータ。多言語サポートリファレンス
変数デフォルト値説明
COUCHBASE_CONNECTION_STRINGcouchbase://couchbase-serverCouchbaseクラスターの接続文字列。
COUCHBASE_USERAdministratorユーザー名。
COUCHBASE_PASSWORDpasswordパスワード。
COUCHBASE_BUCKET_NAMEEmbeddingsバケット名。
COUCHBASE_SCOPE_NAME_defaultスコープ名。
変数デフォルト値説明
HOLOGRES_HOST(空)ホスト名。
HOLOGRES_PORT80ポート番号。
HOLOGRES_DATABASE(空)データベース名。
HOLOGRES_ACCESS_KEY_ID(空)Access Key ID(PGユーザー名として使用)。
HOLOGRES_ACCESS_KEY_SECRET(空)Access Key Secret(PGパスワードとして使用)。
HOLOGRES_SCHEMApublicスキーマ名。
HOLOGRES_TOKENIZERjiebaテキストフィールドのトークナイザー。
HOLOGRES_DISTANCE_METHODCosine距離メソッド。
HOLOGRES_BASE_QUANTIZATION_TYPErabitq量子化タイプ。
HOLOGRES_MAX_DEGREE64HNSWの最大次数。
HOLOGRES_EF_CONSTRUCTION400HNSWのef_constructionパラメータ。
変数デフォルト値説明
PGVECTOR_HOSTpgvectorホスト名。
PGVECTOR_PORT5432ポート番号。
PGVECTOR_USERpostgresユーザー名。
PGVECTOR_PASSWORDdifyai123456パスワード。
PGVECTOR_DATABASEdifyデータベース名。
PGVECTOR_MIN_CONNECTION1最小プール接続数。
PGVECTOR_MAX_CONNECTION5最大プール接続数。
PGVECTOR_PG_BIGMfalse全文検索用のpg_bigm拡張を有効化。
変数デフォルト値説明
VASTBASE_HOSTvastbaseホスト名。
VASTBASE_PORT5432ポート番号。
VASTBASE_USERdifyユーザー名。
VASTBASE_PASSWORDDifyai123456パスワード。
VASTBASE_DATABASEdifyデータベース名。
VASTBASE_MIN_CONNECTION1最小プール接続数。
VASTBASE_MAX_CONNECTION5最大プール接続数。
変数デフォルト値説明
PGVECTO_RS_HOSTpgvecto-rsホスト名。
PGVECTO_RS_PORT5432ポート番号。
PGVECTO_RS_USERpostgresユーザー名。
PGVECTO_RS_PASSWORDdifyai123456パスワード。
PGVECTO_RS_DATABASEdifyデータベース名。
変数デフォルト値説明
ANALYTICDB_KEY_ID(空)Aliyun access key ID。AccessKeyの作成
ANALYTICDB_KEY_SECRET(空)Aliyun access key secret。
ANALYTICDB_REGION_IDcn-hangzhouリージョン識別子。
ANALYTICDB_INSTANCE_ID(空)インスタンスID(例:gp-xxxxxx)。インスタンスの作成
ANALYTICDB_ACCOUNT(空)アカウント名。アカウントの作成
ANALYTICDB_PASSWORD(空)アカウントパスワード。
ANALYTICDB_NAMESPACEdify名前空間(スキーマ)。存在しない場合は自動作成されます。
ANALYTICDB_NAMESPACE_PASSWORD(空)名前空間パスワード。新しい名前空間作成時に使用されます。
ANALYTICDB_HOST(空)直接接続ホスト(APIベースのアクセスの代替)。
ANALYTICDB_PORT5432直接接続ポート。
ANALYTICDB_MIN_CONNECTION1最小プール接続数。
ANALYTICDB_MAX_CONNECTION5最大プール接続数。
変数デフォルト値説明
TIDB_VECTOR_HOSTtidbホスト名。
TIDB_VECTOR_PORT4000ポート番号。
TIDB_VECTOR_USER(空)ユーザー名。
TIDB_VECTOR_PASSWORD(空)パスワード。
TIDB_VECTOR_DATABASEdifyデータベース名。
変数デフォルト値説明
MATRIXONE_HOSTmatrixoneホスト名。
MATRIXONE_PORT6001ポート番号。
MATRIXONE_USERdumpユーザー名。
MATRIXONE_PASSWORD111パスワード。
MATRIXONE_DATABASEdifyデータベース名。
変数デフォルト値説明
CHROMA_HOST127.0.0.1Chromaサーバーホスト。
CHROMA_PORT8000Chromaサーバーポート。
CHROMA_TENANTdefault_tenantテナント名。
CHROMA_DATABASEdefault_databaseデータベース名。
CHROMA_AUTH_PROVIDERchromadb.auth.token_authn.TokenAuthClientProvider認証プロバイダークラス。
CHROMA_AUTH_CREDENTIALS(空)認証資格情報。
変数デフォルト値説明
ORACLE_USERdifyOracleユーザー名。
ORACLE_PASSWORDdifyOracleパスワード。
ORACLE_DSNoracle:1521/FREEPDB1データソース名。
ORACLE_CONFIG_DIR/app/api/storage/walletOracle設定ディレクトリ。
ORACLE_WALLET_LOCATION/app/api/storage/walletAutonomous DB用ウォレットの場所。
ORACLE_WALLET_PASSWORDdifyウォレットパスワード。
ORACLE_IS_AUTONOMOUSfalseOracle Autonomous Databaseを使用するかどうか。
変数デフォルト値説明
ALIBABACLOUD_MYSQL_HOST127.0.0.1ホスト名。
ALIBABACLOUD_MYSQL_PORT3306ポート番号。
ALIBABACLOUD_MYSQL_USERrootユーザー名。
ALIBABACLOUD_MYSQL_PASSWORDdifyai123456パスワード。
ALIBABACLOUD_MYSQL_DATABASEdifyデータベース名。
ALIBABACLOUD_MYSQL_MAX_CONNECTION5最大プール接続数。
ALIBABACLOUD_MYSQL_HNSW_M6HNSW Mパラメータ。
変数デフォルト値説明
RELYT_HOSTdbホスト名。
RELYT_PORT5432ポート番号。
RELYT_USERpostgresユーザー名。
RELYT_PASSWORDdifyai123456パスワード。
RELYT_DATABASEpostgresデータベース名。
変数デフォルト値説明
OPENSEARCH_HOSTopensearchホスト名。
OPENSEARCH_PORT9200ポート番号。
OPENSEARCH_SECUREtrueHTTPSを使用。
OPENSEARCH_VERIFY_CERTStrueSSL証明書を検証。
OPENSEARCH_AUTH_METHODbasicbasicはユーザー名/パスワードを使用。aws_managed_iamはBoto3資格情報によるAWS SigV4リクエスト署名を使用(AWS Managed OpenSearchまたはServerless用)。
OPENSEARCH_USERadminユーザー名。basic認証でのみ使用。
OPENSEARCH_PASSWORDadminパスワード。basic認証でのみ使用。
OPENSEARCH_AWS_REGIONap-southeast-1AWSリージョン。aws_managed_iam認証でのみ使用。
OPENSEARCH_AWS_SERVICEaossAWSサービスタイプ:es(Managed Cluster)またはaoss(OpenSearch Serverless)。aws_managed_iam認証でのみ使用。
変数デフォルト値説明
TENCENT_VECTOR_DB_URLhttp://127.0.0.1アクセスアドレス。コンソール
TENCENT_VECTOR_DB_API_KEYdifyAPIキー。キー管理
TENCENT_VECTOR_DB_TIMEOUT30リクエストタイムアウト(秒)。
TENCENT_VECTOR_DB_USERNAMEdifyアカウント名。アカウント管理
TENCENT_VECTOR_DB_DATABASEdifyデータベース名。データベースの作成
TENCENT_VECTOR_DB_SHARD1シャード数。
TENCENT_VECTOR_DB_REPLICAS2レプリカ数。
TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCHfalseハイブリッド検索を有効化。スパースベクトルドキュメント
変数デフォルト値説明
ELASTICSEARCH_HOST0.0.0.0ホスト名。
ELASTICSEARCH_PORT9200ポート番号。
ELASTICSEARCH_USERNAMEelasticユーザー名。
ELASTICSEARCH_PASSWORDelasticパスワード。
ELASTICSEARCH_USE_CLOUDfalseElastic Cloudモードに切り替え。trueの場合、host/port/username/passwordの代わりにELASTICSEARCH_CLOUD_URLELASTICSEARCH_API_KEYを使用します。
ELASTICSEARCH_CLOUD_URL(空)Elastic CloudエンドポイントURL。ELASTICSEARCH_USE_CLOUD=trueの場合に必要です。
ELASTICSEARCH_API_KEY(空)Elastic Cloud APIキー。ELASTICSEARCH_USE_CLOUD=trueの場合に必要です。
ELASTICSEARCH_VERIFY_CERTSfalseSSL証明書を検証。
ELASTICSEARCH_CA_CERTS(空)CA証明書のパス。
ELASTICSEARCH_REQUEST_TIMEOUT100000リクエストタイムアウト(ミリ秒)。
ELASTICSEARCH_RETRY_ON_TIMEOUTtrueタイムアウト時にリトライ。
ELASTICSEARCH_MAX_RETRIES10最大リトライ回数。
変数デフォルト値説明
BAIDU_VECTOR_DB_ENDPOINThttp://127.0.0.1:5287エンドポイントURL。
BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS30000接続タイムアウト(ミリ秒)。
BAIDU_VECTOR_DB_ACCOUNTrootアカウント名。
BAIDU_VECTOR_DB_API_KEYdifyAPIキー。
BAIDU_VECTOR_DB_DATABASEdifyデータベース名。
BAIDU_VECTOR_DB_SHARD1シャード数。
BAIDU_VECTOR_DB_REPLICAS3レプリカ数。
BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZERDEFAULT_ANALYZER転置インデックスアナライザー。
BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODECOARSE_MODE転置インデックスパーサーモード。
変数デフォルト値説明
VIKINGDB_ACCESS_KEY(空)Access key。
VIKINGDB_SECRET_KEY(空)Secret key。
VIKINGDB_REGIONcn-shanghaiリージョン。
VIKINGDB_HOSTapi-vikingdb.xxx.volces.comAPIホスト。リージョン固有のエンドポイントに置き換えてください。
VIKINGDB_SCHEMAhttpプロトコルスキーム(httpまたはhttps)。
VIKINGDB_CONNECTION_TIMEOUT30接続タイムアウト(秒)。
VIKINGDB_SOCKET_TIMEOUT30Socketタイムアウト(秒)。
変数デフォルト値説明
LINDORM_URLhttp://localhost:30070Lindorm検索エンジンURL。コンソール
LINDORM_USERNAMEadminユーザー名。
LINDORM_PASSWORDadminパスワード。
LINDORM_USING_UGCtrueUGCモードを使用。
LINDORM_QUERY_TIMEOUT1クエリタイムアウト(秒)。
変数デフォルト値説明
OPENGAUSS_HOSTopengaussホスト名。
OPENGAUSS_PORT6600ポート番号。
OPENGAUSS_USERpostgresユーザー名。
OPENGAUSS_PASSWORDDify@123パスワード。
OPENGAUSS_DATABASEdifyデータベース名。
OPENGAUSS_MIN_CONNECTION1最小プール接続数。
OPENGAUSS_MAX_CONNECTION5最大プール接続数。
OPENGAUSS_ENABLE_PQfalsePQアクセラレーションを有効化。
変数デフォルト値説明
UPSTASH_VECTOR_URL(空)Upstash VectorエンドポイントURL。
UPSTASH_VECTOR_TOKEN(空)Upstash Vector APIトークン。
変数デフォルト値説明
TABLESTORE_ENDPOINThttps://instance-name.cn-hangzhou.ots.aliyuncs.comエンドポイントアドレス。instance-nameをインスタンス名に置き換えてください。
TABLESTORE_INSTANCE_NAME(空)インスタンス名。
TABLESTORE_ACCESS_KEY_ID(空)Access Key ID。
TABLESTORE_ACCESS_KEY_SECRET(空)Access Key Secret。
TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCOREfalse全文BM25スコアを正規化。
変数デフォルト値説明
CLICKZETTA_USERNAME(空)ユーザー名。
CLICKZETTA_PASSWORD(空)パスワード。
CLICKZETTA_INSTANCE(空)インスタンス名。
CLICKZETTA_SERVICEapi.clickzetta.comサービスエンドポイント。
CLICKZETTA_WORKSPACEquick_startワークスペース名。
CLICKZETTA_VCLUSTERdefault_ap仮想クラスター。
CLICKZETTA_SCHEMAdifyスキーマ名。
CLICKZETTA_BATCH_SIZE100操作のバッチサイズ。
CLICKZETTA_ENABLE_INVERTED_INDEXtrue転置インデックスを有効化。
CLICKZETTA_ANALYZER_TYPEchineseアナライザータイプ。
CLICKZETTA_ANALYZER_MODEsmartアナライザーモード。
CLICKZETTA_VECTOR_DISTANCE_FUNCTIONcosine_distance距離関数。
変数デフォルト値説明
IRIS_HOSTirisホスト名。
IRIS_SUPER_SERVER_PORT1972スーパーサーバーポート。
IRIS_USER_SYSTEMユーザー名。
IRIS_PASSWORDDify@1234パスワード。
IRIS_DATABASEUSERデータベース名。
IRIS_SCHEMAdifyスキーマ名。
IRIS_CONNECTION_URL(空)完全な接続URL(個別設定をオーバーライド)。
IRIS_MIN_CONNECTION1最小プール接続数。
IRIS_MAX_CONNECTION3最大プール接続数。
IRIS_TEXT_INDEXtrueテキストインデックスを有効化。
IRIS_TEXT_INDEX_LANGUAGEenテキストインデックスの言語。

ナレッジベース設定

変数デフォルト値説明
UPLOAD_FILE_SIZE_LIMIT15ドキュメントアップロード(PDF、Wordドキュメントなど)の最大ファイルサイズ(MB)。超過するとユーザーに「ファイルが大きすぎます」エラーが表示されます。画像、動画、音声には適用されません。それらには下記の別の制限があります。
UPLOAD_FILE_BATCH_LIMIT5フロントエンドがアップロードバッチごとに許可する最大ファイル数。
UPLOAD_FILE_EXTENSION_BLACKLIST(空)アップロードできないファイル拡張子のセキュリティブロックリスト。カンマ区切り、小文字、ドットなし。例:exe,bat,cmd,com,scr,vbs,ps1,msi,dll。空の場合はすべてのタイプを許可します。
SINGLE_CHUNK_ATTACHMENT_LIMIT10単一のナレッジベースセグメント(チャンク)に埋め込める最大画像数。
IMAGE_FILE_BATCH_LIMIT10アップロードバッチごとの最大画像ファイル数。
ATTACHMENT_IMAGE_FILE_SIZE_LIMIT2ナレッジベースインデックス作成時に外部URLから取得する画像の最大サイズ(MB)。これを超える画像はスキップされます。直接アップロードに適用されるUPLOAD_IMAGE_FILE_SIZE_LIMITとは異なります。
ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT60ナレッジベースインデックス作成時に外部URLから画像をダウンロードする際のタイムアウト(秒)。低速または応答しない画像サーバーはこのタイムアウト後に放棄されます。
ETL_TYPEdifyドキュメント抽出ライブラリ。difyはtxt、md、pdf、html、xlsx、docx、csvをサポートします。Unstructuredはdoc、msg、eml、ppt、pptx、xml、epubのサポートを追加します(UNSTRUCTURED_API_URLが必要)。
UNSTRUCTURED_API_URL(空)Unstructured.io APIエンドポイント。ETL_TYPEUnstructuredの場合に必要です。.pptファイルのサポートにも必要です。例:http://unstructured:8000/general/v0/general
UNSTRUCTURED_API_KEY(空)Unstructured.io認証用APIキー。
SCARF_NO_ANALYTICStrueUnstructuredライブラリのテレメトリ/分析収集を無効化。
TOP_K_MAX_VALUE10ナレッジベース検索でtop_kパラメータ(検索ごとの結果返却数)にユーザーが設定できる最大値。
DATASET_MAX_SEGMENTS_PER_REQUEST0データセットAPIリクエストごとの最大セグメント数。0は無制限を意味します。

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

変数デフォルト値説明
ANNOTATION_IMPORT_FILE_SIZE_LIMIT2アノテーションインポート用CSVファイルの最大サイズ(MB)。超過するとHTTP 413が返されます。
ANNOTATION_IMPORT_MAX_RECORDS10000アノテーションインポートごとの最大レコード数。レコードが多いファイルはバッチに分割する必要があります。
ANNOTATION_IMPORT_MIN_RECORDS1アノテーションインポートごとに必要な最小有効レコード数。
ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE5ワークスペースごとの1分あたりの最大アノテーションインポートリクエスト数。超過するとHTTP 429が返されます。
ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR20ワークスペースごとの1時間あたりの最大アノテーションインポートリクエスト数。
ANNOTATION_IMPORT_MAX_CONCURRENT5ワークスペースごとの最大同時アノテーションインポートタスク数。古いタスクは2分後に自動クリーンアップされます。

モデル設定

変数デフォルト値説明
PROMPT_GENERATION_MAX_TOKENS512システムがLLMを使用してプロンプトを自動生成する際の最大トークン数。APIクォータを無駄にする暴走生成を防止します。
CODE_GENERATION_MAX_TOKENS1024システムがLLMを使用してコードを自動生成する際の最大トークン数。
PLUGIN_BASED_TOKEN_COUNTING_ENABLEDfalse正確な使用量追跡のためにプラグインベースのトークンカウントを使用。無効の場合、トークンカウントは0を返します(高速ですがコスト追跡の精度が低下します)。

マルチモーダル設定

変数デフォルト値説明
MULTIMODAL_SEND_FORMATbase64マルチモーダルLLMにファイルを送信する方法。base64はリクエストにファイルデータを埋め込みます(互換性が高く、オフラインで動作、ペイロードが大きい)。urlは署名付きURLを送信してモデルに取得させます(高速、リクエストが小さいですが、モデルがFILES_URLにアクセスできる必要があります)。
UPLOAD_IMAGE_FILE_SIZE_LIMIT10直接アップロードの最大画像ファイルサイズ(MB)(jpg、png、webp、gif、svg)。
UPLOAD_VIDEO_FILE_SIZE_LIMIT100直接アップロードの最大動画ファイルサイズ(MB)(mp4、mov、mpeg、webm)。
UPLOAD_AUDIO_FILE_SIZE_LIMIT50直接アップロードの最大音声ファイルサイズ(MB)(mp3、m4a、wav、amr、mpga)。
すべてのアップロードサイズ制限はNGINX_CLIENT_MAX_BODY_SIZE(デフォルト100M)によっても制限されます。アップロード制限を100 MBを超えて増加する場合は、NGINX_CLIENT_MAX_BODY_SIZEも同様に増加してください。そうしないと、Nginxが413エラーでアップロードを拒否します。

Sentry設定

Sentryはエラー追跡とパフォーマンス監視を提供します。各サービスにはエラーレポートを分離するための独自のDSNがあります。
変数デフォルト値説明
SENTRY_DSN(空)サービス間で共有されるSentry DSN。
API_SENTRY_DSN(空)APIサービス用のSentry DSN。設定されている場合、SENTRY_DSNをオーバーライドします。空の場合、バックエンドのSentryが無効になります。
API_SENTRY_TRACES_SAMPLE_RATE1.0パフォーマンストレーシングに含めるリクエストの割合(0.01 = 1%、1.0 = 100%)。トレースはサービス間のリクエストフローを追跡します。
API_SENTRY_PROFILES_SAMPLE_RATE1.0CPU/メモリプロファイリングに含めるリクエストの割合(0.01 = 1%)。プロファイルはコード内で時間が費やされている箇所を表示します。
WEB_SENTRY_DSN(空)Webフロントエンド(Next.js)用のSentry DSN。フロントエンドのみ。
PLUGIN_SENTRY_ENABLEDfalseプラグインデーモンサービスのSentryを有効化。
PLUGIN_SENTRY_DSN(空)プラグインデーモン用のSentry DSN。

Notion連携設定

ナレッジベースデータソースとしてDifyをNotionに接続します。https://www.notion.so/my-integrationsで連携資格情報を取得してください。
変数デフォルト値説明
NOTION_INTEGRATION_TYPEpublicpublicは標準OAuth 2.0を使用します(HTTPSリダイレクトURLが必要、CLIENT_ID + CLIENT_SECRETが必要)。internalは直接連携トークンを使用します(HTTPで動作)。ローカルデプロイにはinternalを使用してください。
NOTION_CLIENT_SECRET(空)OAuthクライアントシークレット。public連携に必要です。
NOTION_CLIENT_ID(空)OAuthクライアントID。public連携に必要です。
NOTION_INTERNAL_SECRET(空)Notionからの直接連携トークン。internal連携に必要です。

メール設定

Difyはアカウント招待、パスワードリセット、ログインコード、人間の入力ノード通知のメールを送信します。サポートされる3つのプロバイダーのいずれかを設定してください。メールリンクにはCONSOLE_WEB_URLの設定が必要です。共通変数を参照してください。
変数デフォルト値説明
MAIL_TYPEresendメールプロバイダー:resendsmtp、またはsendgrid
MAIL_DEFAULT_SEND_FROM(空)すべての送信メールのデフォルト「From」アドレス。必須です。
変数デフォルト値説明
RESEND_API_URLhttps://api.resend.comResend APIエンドポイント。セルフホストResendまたはプロキシ用にオーバーライドします。
RESEND_API_KEY(空)Resend APIキー。MAIL_TYPE=resendの場合に必要です。
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)。
変数デフォルト値説明
SMTP_SERVER(空)SMTPサーバーアドレス。
SMTP_PORT465SMTPサーバーポート。STARTTLSモードの場合は587を使用してください。
SMTP_USERNAME(空)SMTPユーザー名。IPホワイトリストされたサーバーでは空にできます。
SMTP_PASSWORD(空)SMTPパスワード。IPホワイトリストされたサーバーでは空にできます。
SMTP_USE_TLStrueTLSを有効化。trueSMTP_OPPORTUNISTIC_TLS=falseの場合、暗黙的TLS(SMTP_SSL)を使用します。
SMTP_OPPORTUNISTIC_TLSfalse暗黙的TLSの代わりにSTARTTLS(明示的TLS)を使用。SMTP_USE_TLS=trueと併用する必要があります。
SMTP_LOCAL_HOSTNAME(空)SMTP HELO/EHLOで送信されるホスト名をオーバーライド。SMTPサーバーがコンテナホスト名を拒否する場合にDockerで必要です(Google Workspace、Microsoft 365でよく発生)。ドメインに設定してください(例:mail.yourdomain.com)。
変数デフォルト値説明
SENDGRID_API_KEY(空)SendGrid APIキー。MAIL_TYPE=sendgridの場合に必要です。
詳細については、SendGridドキュメントを参照してください。

その他の設定

インデックス作成

変数デフォルト値説明
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH4000ナレッジベース用にドキュメントをチャンク化する際のテキストセグメントごとの最大トークン長。大きい値はチャンクあたりのコンテキストを多く保持し、小さい値はより細かい粒度を提供します。

トークンと招待

すべてのトークン有効期限変数は、Redisに保存されるワンタイムトークンの有効期間を制御します。期限切れ後、ユーザーは新しいトークンをリクエストする必要があります。
変数デフォルト値説明
INVITE_EXPIRY_HOURS72ワークスペース招待リンクの有効期間(時間)。
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES5パスワードリセットトークンの有効期間(分)。
EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES5メール登録トークンの有効期間(分)。
CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES5メール変更トークンの有効期間(分)。
OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES5ワークスペースオーナー移譲トークンの有効期間(分)。

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

サンドボックスは、Python、JavaScript、Jinja2コードノードを分離して実行する独立したサービスです。
変数デフォルト値説明
CODE_EXECUTION_ENDPOINThttp://sandbox:8194サンドボックスサービスエンドポイント。
CODE_EXECUTION_API_KEYdify-sandboxサンドボックス認証用APIキー。サンドボックスサービスのSANDBOX_API_KEYと一致する必要があります。
CODE_EXECUTION_SSL_VERIFYtrueサンドボックス接続のSSLを検証。自己署名証明書での開発時は無効化してください。
CODE_EXECUTION_CONNECT_TIMEOUT10接続タイムアウト(秒)。
CODE_EXECUTION_READ_TIMEOUT60読み取りタイムアウト(秒)。
CODE_EXECUTION_WRITE_TIMEOUT10書き込みタイムアウト(秒)。
CODE_EXECUTION_POOL_MAX_CONNECTIONS100サンドボックスサービスへの最大同時HTTP接続数。
CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS20サンドボックスコネクションプールで維持する最大アイドル接続数。
CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY5.0アイドルなサンドボックス接続が閉じられるまでの秒数。
CODE_MAX_NUMBER9223372036854775807コードノード出力で許可される最大数値(最大64ビット符号付き整数)。
CODE_MIN_NUMBER-9223372036854775808コードノード出力で許可される最小数値(最小64ビット符号付き整数)。
CODE_MAX_STRING_LENGTH400000コードノード出力の最大文字列長。無制限の文字列生成によるメモリ枯渇を防止します。
CODE_MAX_DEPTH5出力データ構造の最大ネスト深度。
CODE_MAX_PRECISION20出力の浮動小数点数の最大小数桁数。
CODE_MAX_STRING_ARRAY_LENGTH30文字列配列出力の最大要素数。
CODE_MAX_OBJECT_ARRAY_LENGTH30オブジェクト配列出力の最大要素数。
CODE_MAX_NUMBER_ARRAY_LENGTH1000数値配列出力の最大要素数。
TEMPLATE_TRANSFORM_MAX_LENGTH400000テンプレート変換ノード出力の最大文字数。

ワークフローランタイム

変数デフォルト値説明
WORKFLOW_MAX_EXECUTION_STEPS500ワークフロー実行ごとの最大ノード実行回数。超過するとワークフローが終了されます。
WORKFLOW_MAX_EXECUTION_TIME1200ワークフロー実行ごとの最大実行時間(秒)。超過するとワークフローが終了されます。
WORKFLOW_CALL_MAX_DEPTH5ネストされたワークフロー呼び出しの最大深度。無限再帰を防止します。
MAX_VARIABLE_SIZE204800単一のワークフロー変数の最大サイズ(バイト、200 KB)。
WORKFLOW_FILE_UPLOAD_LIMIT10単一のワークフロー実行でアップロードできる最大ファイル数。
WORKFLOW_NODE_EXECUTION_STORAGErdbmsワークフローノード実行レコードの保存先。rdbmsはすべてをデータベースに保存します。hybridは新しいデータをオブジェクトストレージに保存し、両方から読み取ります。
DSL_EXPORT_ENCRYPT_DATASET_IDtrueDSLファイルエクスポート時にデータセットIDを暗号化。クロス環境インポートを容易にするためにプレーンIDをエクスポートする場合はfalseに設定してください。

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

ワークフロー実行データを処理するバックエンド実装を選択します。デフォルトのSQLAlchemyリポジトリはすべてをデータベースに保存します。代替実装(例:Celery、Logstore)は異なるストレージ戦略に使用できます。
変数デフォルト値説明
CORE_WORKFLOW_EXECUTION_REPOSITORYcore.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepositoryワークフロー実行レコードのリポジトリ実装。
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORYcore.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepositoryワークフローノード実行レコードのリポジトリ実装。
API_WORKFLOW_RUN_REPOSITORYrepositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepositoryワークフロー実行API操作のサービスレイヤーリポジトリ。
API_WORKFLOW_NODE_EXECUTION_REPOSITORYrepositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepositoryワークフローノード実行API操作のサービスレイヤーリポジトリ。
LOOP_NODE_MAX_COUNT100ループノードの最大反復回数。無限ループを防止します。
MAX_PARALLEL_LIMIT10ワークフロー内の最大並列ブランチ数。

GraphEngineワーカープール

変数デフォルト値説明
GRAPH_ENGINE_MIN_WORKERS1GraphEngineインスタンスごとの最小ワーカー数。
GRAPH_ENGINE_MAX_WORKERS10GraphEngineインスタンスごとの最大ワーカー数。
GRAPH_ENGINE_SCALE_UP_THRESHOLD3追加ワーカーの生成をトリガーするキュー深度。
GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME5.0余剰ワーカーが削除されるまでのアイドル時間(秒)。

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

変数デフォルト値説明
WORKFLOW_LOG_CLEANUP_ENABLEDfalse毎日午前2:00にワークフロー実行ログの自動クリーンアップを有効化。
WORKFLOW_LOG_RETENTION_DAYS30クリーンアップ前にワークフローログを保持する日数。
WORKFLOW_LOG_CLEANUP_BATCH_SIZE100クリーンアップバッチごとに処理するログエントリ数。システムパフォーマンスに基づいて調整してください。
WORKFLOW_LOG_CLEANUP_SPECIFIC_WORKFLOW_IDS(空)クリーンアップを制限するワークフローIDのカンマ区切りリスト。空の場合、すべてのワークフローログがクリーンアップされます。

HTTPリクエストノード

ワークフローで外部APIを呼び出すために使用されるHTTPリクエストノードの設定です。
変数デフォルト値説明
HTTP_REQUEST_NODE_MAX_TEXT_SIZE1048576テキストレスポンスの最大サイズ(バイト、1 MB)。これを超えるレスポンスは切り詰められます。
HTTP_REQUEST_NODE_MAX_BINARY_SIZE10485760バイナリレスポンスの最大サイズ(バイト、10 MB)。
HTTP_REQUEST_NODE_SSL_VERIFYtrueSSL証明書を検証。自己署名証明書でのテスト時に無効化します。
HTTP_REQUEST_MAX_CONNECT_TIMEOUT10ワークフローエディターでユーザーが設定できる最大接続タイムアウト(秒)。ノードごとのタイムアウトはこれを超えられません。
HTTP_REQUEST_MAX_READ_TIMEOUT600読み取りタイムアウトの上限(秒)。
HTTP_REQUEST_MAX_WRITE_TIMEOUT600書き込みタイムアウトの上限(秒)。

Webhook

変数デフォルト値説明
WEBHOOK_REQUEST_BODY_MAX_SIZE10485760Webhookペイロードの最大サイズ(バイト、10 MB)。これを超えるペイロードは413エラーで拒否されます。

SSRF保護

DifyからのすべてのアウトバウンドHTTPリクエスト(HTTPノード、画像ダウンロードなど)は、内部/プライベートIP範囲へのリクエストをブロックするプロキシを経由し、Server-Side Request Forgery(SSRF)攻撃を防止します。
変数デフォルト値説明
SSRF_PROXY_HTTP_URLhttp://ssrf_proxy:3128HTTPリクエスト用SSRFプロキシURL。
SSRF_PROXY_HTTPS_URLhttp://ssrf_proxy:3128HTTPSリクエスト用SSRFプロキシURL。
SSRF_POOL_MAX_CONNECTIONS100SSRF HTTPクライアントプール内の最大同時接続数。
SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS20SSRFプールで維持する最大アイドル接続数。
SSRF_POOL_KEEPALIVE_EXPIRY5.0アイドルなSSRF接続が閉じられるまでの秒数。
RESPECT_XFORWARD_HEADERS_ENABLEDfalseリバースプロキシからのX-Forwarded-For/Proto/Portヘッダーを信頼。単一の信頼されたリバースプロキシの背後でのみ有効化してください。それ以外ではIPスプーフィングが可能になります。

エージェント設定

変数デフォルト値説明
MAX_TOOLS_NUM10エージェントが同時に使用できる最大ツール数。
MAX_ITERATIONS_NUM99エージェント実行ごとの最大推論イテレーション数。無限エージェントループを防止します。

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

これらの変数はNext.js Webフロントエンドコンテナのみで使用されます。Pythonバックエンドには影響しません。
変数デフォルト値説明
TEXT_GENERATION_TIMEOUT_MS60000ストリーミングテキスト生成UIのフロントエンドタイムアウト。ストリームがこの時間以上停止した場合、UIはレンダリングを一時停止します。
ALLOW_UNSAFE_DATA_SCHEMEfalsedata:スキームのURLレンダリングを許可。セキュリティのためデフォルトでは無効です。
MAX_TREE_DEPTH50ワークフローエディターUIの最大ノードツリー深度。

データベースサービス

Docker Composeでデータベースコンテナを直接設定します。
変数デフォルト値説明
PGDATA/var/lib/postgresql/data/pgdataコンテナ内のPostgreSQLデータディレクトリ。
MYSQL_HOST_VOLUME./volumes/mysql/dataMySQLデータボリュームとしてマウントされるホストパス。

サンドボックスサービス

サンドボックスは、コードノード(Python、JavaScript、Jinja2)を実行するための隔離されたサービスです。セキュリティのためにネットワークアクセスを無効化できます。
変数デフォルト値説明
SANDBOX_API_KEYdify-sandboxサンドボックス認証用APIキー。APIサービスのCODE_EXECUTION_API_KEYと一致する必要があります。
SANDBOX_GIN_MODEreleaseサンドボックスサービスモード:releaseまたはdebug
SANDBOX_WORKER_TIMEOUT15単一コード実行の最大実行時間(秒)。
SANDBOX_ENABLE_NETWORKtrueコードからのアウトバウンドHTTPリクエストを許可。コードノードが外部サービスにアクセスすることを防止するには無効化してください。
SANDBOX_HTTP_PROXYhttp://ssrf_proxy:3128ネットワーク有効時のSSRF保護用HTTPプロキシ。
SANDBOX_HTTPS_PROXYhttp://ssrf_proxy:3128SSRF保護用HTTPSプロキシ。
SANDBOX_PORT8194サンドボックスサービスのポート。

Nginxリバースプロキシ

変数デフォルト値説明
NGINX_SERVER_NAME_Nginxサーバー名。_は任意のホスト名に一致します。
NGINX_HTTPS_ENABLEDfalseHTTPSを有効化。trueの場合、SSL証明書と鍵を./nginx/ssl/に配置してください。
NGINX_PORT80HTTPポート。
NGINX_SSL_PORT443HTTPSポート(NGINX_HTTPS_ENABLED=trueの場合のみ使用)。
NGINX_SSL_CERT_FILENAMEdify.crt./nginx/ssl/内のSSL証明書ファイル名。
NGINX_SSL_CERT_KEY_FILENAMEdify.key./nginx/ssl/内のSSL秘密鍵ファイル名。
NGINX_SSL_PROTOCOLSTLSv1.2 TLSv1.3許可されるTLSプロトコルバージョン。
NGINX_WORKER_PROCESSESautoNginxワーカープロセス数。autoはCPUコア数に一致します。
NGINX_CLIENT_MAX_BODY_SIZE100M最大リクエストボディサイズ。プロキシレベルのファイルアップロード制限に影響します。
NGINX_KEEPALIVE_TIMEOUT65キープアライブタイムアウト(秒)。
NGINX_PROXY_READ_TIMEOUT3600sプロキシ読み取りタイムアウト。長時間のSSEストリームをサポートするため高く設定(1時間)されています。
NGINX_PROXY_SEND_TIMEOUT3600sプロキシ送信タイムアウト。
NGINX_ENABLE_CERTBOT_CHALLENGEfalse/.well-known/acme-challenge/でLet’s Encrypt ACMEチャレンジリクエストを受け入れます。自動証明書更新のために有効化してください。
HTTPSを有効化した後、共通変数のURL変数(例:CONSOLE_API_URLCONSOLE_WEB_URL)もhttps://を使用するように更新してください。

Certbot設定

変数デフォルト値説明
CERTBOT_EMAIL(空)Let’s Encryptの証明書通知に必要なメールアドレス。
CERTBOT_DOMAIN(空)SSL証明書のドメイン名。
CERTBOT_OPTIONS(空)追加のcertbot CLIオプション(例:--force-renewal--dry-run)。

SSRFプロキシ

内部/プライベートネットワークへのリクエストをブロックするSquidベースのSSRFプロキシコンテナの設定です。
変数デフォルト値説明
SSRF_HTTP_PORT3128プロキシのリッスンポート。
SSRF_COREDUMP_DIR/var/spool/squidコアダンプディレクトリ。
SSRF_REVERSE_PROXY_PORT8194サンドボックスサービスに転送されるリバースプロキシポート。
SSRF_SANDBOX_HOSTsandboxサンドボックスサービスのホスト名。
SSRF_DEFAULT_TIME_OUT5プロキシされたリクエストのデフォルト全体タイムアウト(秒)。
SSRF_DEFAULT_CONNECT_TIME_OUT5デフォルト接続タイムアウト(秒)。
SSRF_DEFAULT_READ_TIME_OUT5デフォルト読み取りタイムアウト(秒)。
SSRF_DEFAULT_WRITE_TIME_OUT5デフォルト書き込みタイムアウト(秒)。

Docker Compose

変数デフォルト値説明
COMPOSE_PROFILES${VECTOR_STORE:-weaviate},${DB_TYPE:-postgresql}データベースとベクトルストアの選択に基づいて、起動するサービスコンテナを自動選択します。例えば、DB_TYPE=mysqlを設定するとPostgreSQLの代わりにMySQLが起動します。
EXPOSE_NGINX_PORT80Nginx HTTPにマッピングされるホストポート。
EXPOSE_NGINX_SSL_PORT443Nginx HTTPSにマッピングされるホストポート。

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

アプリインターフェースで利用可能なツールとモデルプロバイダーおよびその表示順をカスタマイズします。カンマ区切りの値を使用し、項目間にスペースを入れないでください。
変数デフォルト値説明
POSITION_TOOL_PINS(空)特定のツールをリストの先頭に固定。例:bing,google
POSITION_TOOL_INCLUDES(空)リストされたツールのみ表示。未設定の場合、すべてのツールが利用可能です。
POSITION_TOOL_EXCLUDES(空)特定のツールを非表示(固定されたツールには影響しません)。
POSITION_PROVIDER_PINS(空)特定のモデルプロバイダーを先頭に固定。例:openai,anthropic
POSITION_PROVIDER_INCLUDES(空)リストされたプロバイダーのみ表示。未設定の場合、すべてのプロバイダーが利用可能です。
POSITION_PROVIDER_EXCLUDES(空)特定のプロバイダーを非表示(固定されたプロバイダーには影響しません)。

プラグインデーモン設定

プラグインデーモンは、プラグインのライフサイクル(インストール、実行、アップグレード)を管理する独立したサービスです。APIはHTTP経由で通信します。
変数デフォルト値説明
PLUGIN_DAEMON_URLhttp://plugin_daemon:5002プラグインデーモンサービスURL。
PLUGIN_DAEMON_KEY(自動生成)プラグインデーモンの認証キー。
PLUGIN_DAEMON_PORT5002プラグインデーモンのリッスンポート。
PLUGIN_DAEMON_TIMEOUT600.0すべてのプラグインデーモンリクエスト(インストール、実行、リスト表示)のタイムアウト(秒)。
PLUGIN_MAX_PACKAGE_SIZE52428800プラグインパッケージの最大サイズ(バイト、50 MB)。マーケットプレイスダウンロード時に検証されます。
PLUGIN_MODEL_SCHEMA_CACHE_TTL3600プラグインモデルスキーマのキャッシュ期間(秒)。繰り返しの参照を削減します。
PLUGIN_DIFY_INNER_API_KEY(自動生成)プラグインデーモンがDify APIにコールバックする際に使用するAPIキー。プラグインデーモンサービス設定のDIFY_INNER_API_KEYと一致する必要があります。
PLUGIN_DIFY_INNER_API_URLhttp://api:5001プラグインデーモンがコールバックする内部API URL。
PLUGIN_DEBUGGING_HOST0.0.0.0プラグインリモートデバッグ接続のホスト。
PLUGIN_DEBUGGING_PORT5003プラグインリモートデバッグ接続のポート。
MARKETPLACE_ENABLEDtrueプラグインマーケットプレイスを有効化。無効の場合、ローカルにインストールされたプラグインのみ利用可能で、ブラウジングと自動アップグレードは利用できません。
MARKETPLACE_API_URLhttps://marketplace.dify.aiプラグインのブラウジング、ダウンロード、アップグレード確認のためのマーケットプレイスAPIエンドポイント。
FORCE_VERIFYING_SIGNATUREtrueプラグインインストール前に有効な署名を要求。改ざんまたは未署名のパッケージのインストールを防止します。
PLUGIN_MAX_EXECUTION_TIMEOUT600プラグイン実行タイムアウト(秒、プラグインデーモン側)。API側のPLUGIN_DAEMON_TIMEOUTと一致させる必要があります。
PIP_MIRROR_URL(空)プラグインデーモンがプラグインの依存関係をインストールする際に使用するカスタムPyPIミラーURL。高速インストールやエアギャップ環境に有用です。

OTLP / OpenTelemetry設定

OpenTelemetryは分散トレーシングとメトリクス収集を提供します。有効時、DifyはFlaskを計装し、テレメトリデータをOTLPコレクターにエクスポートします。
変数デフォルト値説明
ENABLE_OTELfalseOpenTelemetry計装のマスタースイッチ。
OTLP_TRACE_ENDPOINT(空)専用トレースエンドポイントURL。未設定の場合、{OTLP_BASE_ENDPOINT}/v1/tracesにフォールバックします。
OTLP_METRIC_ENDPOINT(空)専用メトリクスエンドポイントURL。未設定の場合、{OTLP_BASE_ENDPOINT}/v1/metricsにフォールバックします。
OTLP_BASE_ENDPOINThttp://localhost:4318ベースOTLPコレクターURL。特定のトレース/メトリクスエンドポイントが設定されていない場合のフォールバックとして使用されます。
OTLP_API_KEY(空)OTLP認証用APIキー。Authorization: Bearerヘッダーとして送信されます。
OTEL_EXPORTER_TYPEotlpエクスポータータイプ。otlpはコレクターにエクスポートします。その他の値はコンソールエクスポーター(デバッグ用)を使用します。
OTEL_EXPORTER_OTLP_PROTOCOL(空)OTLPエクスポートのプロトコル。grpcはgRPCエクスポーターを使用します。それ以外はHTTPを使用します。
OTEL_SAMPLING_RATE0.1トレースするリクエストの割合(0.1 = 10%)。高トラフィックの本番環境ではオーバーヘッドを削減するために値を小さくします。
OTEL_BATCH_EXPORT_SCHEDULE_DELAY5000バッチエクスポート間の遅延(ミリ秒)。
OTEL_MAX_QUEUE_SIZE2048ドロップ前のキューに入れられる最大スパン数。
OTEL_MAX_EXPORT_BATCH_SIZE512エクスポートバッチごとの最大スパン数。
OTEL_METRIC_EXPORT_INTERVAL60000メトリクスエクスポート間隔(ミリ秒)。
OTEL_BATCH_EXPORT_TIMEOUT10000バッチスパンエクスポートのタイムアウト(ミリ秒)。
OTEL_METRIC_EXPORT_TIMEOUT30000メトリクスエクスポートのタイムアウト(ミリ秒)。

その他

変数デフォルト値説明
CSP_WHITELIST(空)Content Security Policyヘッダーで許可する追加ドメイン。
ALLOW_EMBEDfalseDifyページのiframe埋め込みを許可。falseの場合、クリックジャッキングを防止するためX-Frame-Options: DENYを設定します。
SWAGGER_UI_ENABLEDfalseSWAGGER_UI_PATHでSwagger UIを公開し、APIドキュメントをブラウジングできるようにします。Swaggerエンドポイントは認証をバイパスします。
SWAGGER_UI_PATH/swagger-ui.htmlSwagger UIのURLパス。
MAX_SUBMIT_COUNT100並列ワークフローノード実行に使用されるスレッドプール内の最大同時タスク送信数。
TENANT_ISOLATED_TASK_CONCURRENCY1テナントごとに同時処理されるドキュメントインデックスまたはRAGパイプラインタスク数。高速なインデックス作成のために増加できますが、データベース負荷が増加します。

定期タスク設定

DifyはCelery Beatを使用して、設定可能なスケジュールでバックグラウンドメンテナンスタスクを実行します。
変数デフォルト値説明
ENABLE_CLEAN_EMBEDDING_CACHE_TASKfalse毎日午前2:00に期限切れのエンベディングキャッシュレコードをデータベースから削除します。データベースサイズを管理します。
ENABLE_CLEAN_UNUSED_DATASETS_TASKfalse保持期間内にアクティビティがなかったナレッジベースのドキュメントを無効化します。毎日午前3:00に実行されます。
ENABLE_CLEAN_MESSAGESfalse毎日午前4:00に保持期間を超えた会話メッセージを削除します。
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASKfalseクリーンアップタスクによりドキュメントが自動無効化されたナレッジベースのリストをワークスペースオーナーにメールで送信します。毎週月曜日午前10:00に実行されます。
ENABLE_DATASETS_QUEUE_MONITORfalseRedis内のデータセット処理キューのバックログを監視します。キューがしきい値を超えるとメールアラートを送信します。
QUEUE_MONITOR_INTERVAL30キューを確認する頻度(分)。
QUEUE_MONITOR_THRESHOLD200アラートメールをトリガーするキューサイズ。
QUEUE_MONITOR_ALERT_EMAILS(空)キューアラートを受信するメールアドレス(カンマ区切り)。
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASKtrue15分ごとにマーケットプレイスで新しいプラグインバージョンを確認します。各テナントの自動アップグレードスケジュールに基づいてアップグレードタスクをディスパッチします。
ENABLE_WORKFLOW_SCHEDULE_POLLER_TASKtrueスケジュールされたワークフロー実行を確認してトリガーするワークフロースケジュールポーラーを有効化。
WORKFLOW_SCHEDULE_POLLER_INTERVAL1期日のスケジュール済みワークフローを確認する頻度(分)。
WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE100ポーリングサイクルごとに取得する最大期日スケジュール数。
WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK0サーキットブレーカー:ティックごとにディスパッチされる最大スケジュール数。0は無制限を意味します。
ENABLE_WORKFLOW_RUN_CLEANUP_TASKfalseワークフロー実行レコードの自動クリーンアップを有効化。
ENABLE_CREATE_TIDB_SERVERLESS_TASKfalseベクトルデータベースプーリング用にTiDB Serverlessクラスターを事前作成。
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASKfalseTiDB Serverlessクラスターのステータスを定期的に更新。
ENABLE_HUMAN_INPUT_TIMEOUT_TASKtrue期限切れの人間の入力フォームを確認し、タイムアウトしたワークフローを再開または停止します。
HUMAN_INPUT_TIMEOUT_TASK_INTERVAL1期限切れの人間の入力フォームを確認する頻度(分)。

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

古いレコードのクリーンアップ方法を制御します。BILLING_ENABLEDがアクティブな場合、クリーンアップは猶予期間付きでサンドボックスティアのテナントを対象とします。課金が無効(セルフホスト)の場合、クリーンアップは保持期間内のすべてのレコードに適用されます。
変数デフォルト値説明
SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS30この日数を超えたレコードが削除対象になります。
SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD21サブスクリプション期限切れ後、レコードが削除されるまでの猶予期間(日、課金有効時のみ)。
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE1000クリーンアップバッチごとに処理されるレコード数。
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL200データベース負荷を軽減するためのクリーンアップバッチ間の最大ランダム遅延(ミリ秒)。
SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL90000同時クリーンアップタスク実行を防止するRedisロックTTL(秒、約25時間)。

Aliyun SLSログストア設定

データベースの代わりにワークフロー実行ログを外部に保存するためのAliyun Simple Log Serviceとのオプション統合。ログストア実装を使用するようにリポジトリ設定変数を設定して有効化します。
変数デフォルト値説明
ALIYUN_SLS_ACCESS_KEY_ID(空)SLS認証用Aliyun access key ID。
ALIYUN_SLS_ACCESS_KEY_SECRET(空)SLS認証用Aliyun access key secret。
ALIYUN_SLS_ENDPOINT(空)SLSサービスエンドポイントURL(例:cn-hangzhou.log.aliyuncs.com)。
ALIYUN_SLS_REGION(空)Aliyunリージョン(例:cn-hangzhou)。
ALIYUN_SLS_PROJECT_NAME(空)ワークフローログ保存用SLSプロジェクト名。
ALIYUN_SLS_LOGSTORE_TTL365SLSログストアのデータ保持期間(日)。永久保存には3650を使用してください。
LOGSTORE_DUAL_WRITE_ENABLEDfalseワークフローデータをSLSとPostgreSQLの両方に同時書き込み。SLSへの移行時に有用です。
LOGSTORE_DUAL_READ_ENABLEDtrueSLSが結果を返さない場合にPostgreSQLにフォールバック。履歴データがデータベースにのみ存在する移行時に有用です。
LOGSTORE_ENABLE_PUT_GRAPH_FIELDtrueSLSログに完全なワークフローグラフ定義を含めます。大きなグラフデータを省略してストレージを削減するにはfalseに設定してください。

イベントバス設定

APIとCeleryワーカー間のRedisベースのイベント転送です。
変数デフォルト値説明
EVENT_BUS_REDIS_URL(空)イベントストリーミング用Redis接続URL。空の場合、メインRedis接続設定を使用します。
EVENT_BUS_REDIS_CHANNEL_TYPEpubsubトランスポートタイプ:pubsub(Pub/Sub、at-most-once配信)、sharded(シャードPub/Sub)、またはstreams(Redis Streams、at-least-once配信)。
EVENT_BUS_REDIS_USE_CLUSTERSfalseイベントバスのRedis Clusterモードを有効化。大規模デプロイメントに推奨されます。

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

ベクトルデータベースコンテナ自体の設定です(Difyクライアント接続ではありません)。選択したVECTOR_STOREの変数のみが関連します。
変数デフォルト値説明
WEAVIATE_PERSISTENCE_DATA_PATH/var/lib/weaviateコンテナ内のデータ永続化ディレクトリ。
WEAVIATE_QUERY_DEFAULTS_LIMIT25デフォルトのクエリ結果制限。
WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLEDtrue匿名アクセスを許可。
WEAVIATE_DEFAULT_VECTORIZER_MODULEnoneデフォルトのベクトライザーモジュール。
WEAVIATE_CLUSTER_HOSTNAMEnode1クラスターノードのホスト名。
WEAVIATE_AUTHENTICATION_APIKEY_ENABLEDtrueAPIキー認証を有効化。
WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS(自動生成)許可されるAPIキー。クライアント設定のWEAVIATE_API_KEYと一致する必要があります。
WEAVIATE_AUTHENTICATION_APIKEY_USERShello@dify.aiAPIキーに関連付けられたユーザー。
WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLEDtrue管理者リスト認可を有効化。
WEAVIATE_AUTHORIZATION_ADMINLIST_USERShello@dify.ai管理者ユーザー。
WEAVIATE_DISABLE_TELEMETRYfalseWeaviateテレメトリを無効化。
WEAVIATE_ENABLE_TOKENIZER_GSEfalseGSEトークナイザーを有効化(中国語)。
WEAVIATE_ENABLE_TOKENIZER_KAGOME_JAfalseKagomeトークナイザーを有効化(日本語)。
WEAVIATE_ENABLE_TOKENIZER_KAGOME_KRfalseKagomeトークナイザーを有効化(韓国語)。
変数デフォルト値説明
ETCD_AUTO_COMPACTION_MODErevisionETCD自動コンパクションモード。
ETCD_AUTO_COMPACTION_RETENTION1000リビジョン数での自動コンパクション保持。
ETCD_QUOTA_BACKEND_BYTES4294967296バックエンドクォータ(バイト、4 GB)。
ETCD_SNAPSHOT_COUNT50000スナップショットをトリガーする変更数。
ETCD_ENDPOINTSetcd:2379ETCDサービスエンドポイント。
MINIO_ACCESS_KEYminioadminMinIO access key。
MINIO_SECRET_KEYminioadminMinIO secret key。
MINIO_ADDRESSminio:9000MinIOサービスアドレス。
MILVUS_AUTHORIZATION_ENABLEDtrueMilvusセキュリティ認可を有効化。
変数デフォルト値説明
OPENSEARCH_DISCOVERY_TYPEsingle-nodeクラスター形成のディスカバリタイプ。
OPENSEARCH_BOOTSTRAP_MEMORY_LOCKtrue起動時にメモリをロックしてスワッピングを防止。
OPENSEARCH_JAVA_OPTS_MIN512m最小JVMヒープサイズ。
OPENSEARCH_JAVA_OPTS_MAX1024m最大JVMヒープサイズ。
OPENSEARCH_INITIAL_ADMIN_PASSWORDQazwsxedc!@#123OpenSearchサービスの初期管理者パスワード。
OPENSEARCH_MEMLOCK_SOFT-1ソフトメモリロック制限(-1は無制限)。
OPENSEARCH_MEMLOCK_HARD-1ハードメモリロック制限(-1は無制限)。
OPENSEARCH_NOFILE_SOFT65536ソフトファイルディスクリプタ制限。
OPENSEARCH_NOFILE_HARD65536ハードファイルディスクリプタ制限。
変数デフォルト値説明
PGVECTOR_PGUSERpostgresPGVectorコンテナのPostgreSQLユーザー。
PGVECTOR_POSTGRES_PASSWORD(自動生成)PGVectorコンテナのPostgreSQLパスワード。
PGVECTOR_POSTGRES_DBdifyPGVectorコンテナ内のデータベース名。
PGVECTOR_PGDATA/var/lib/postgresql/data/pgdataコンテナ内のデータディレクトリ。
PGVECTOR_PG_BIGM_VERSION1.2-20240606pg_bigm拡張のバージョン。
変数デフォルト値説明
ORACLE_PWDDify123456コンテナのOracleデータベースパスワード。
ORACLE_CHARACTERSETAL32UTF8Oracle文字セット。
CHROMA_SERVER_AUTHN_CREDENTIALS(自動生成)Chromaサーバーコンテナの認証資格情報。
CHROMA_SERVER_AUTHN_PROVIDERchromadb.auth.token_authn.TokenAuthenticationServerProviderChromaサーバーの認証プロバイダー。
CHROMA_IS_PERSISTENTTRUEChromaの永続ストレージを有効化。
KIBANA_PORT5601Kibanaポート(Elasticsearch UI)。
変数デフォルト値説明
IRIS_WEB_SERVER_PORT52773IRIS Webサーバー管理ポート。
IRIS_TIMEZONEUTCIRISコンテナのタイムゾーン。
DB_PLUGIN_DATABASEdify_pluginプラグインデータ用の別データベース名。

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

プラグインデーモンは異なるストレージバックエンドにプラグインパッケージを保存できます。PLUGIN_STORAGE_TYPEに一致するプロバイダーのみを設定してください。
変数デフォルト値説明
PLUGIN_STORAGE_TYPElocalプラグインストレージバックエンド:localaws_s3tencent_cosazure_blobaliyun_ossvolcengine_tos
PLUGIN_STORAGE_LOCAL_ROOT/app/storageローカルプラグインストレージのルートディレクトリ。
PLUGIN_WORKING_PATH/app/storage/cwdプラグイン実行の作業ディレクトリ。
PLUGIN_INSTALLED_PATHpluginインストール済みプラグインのサブディレクトリ。
PLUGIN_PACKAGE_CACHE_PATHplugin_packagesキャッシュされたプラグインパッケージのサブディレクトリ。
PLUGIN_MEDIA_CACHE_PATHassetsキャッシュされたメディアアセットのサブディレクトリ。
PLUGIN_STORAGE_OSS_BUCKET(空)オブジェクトストレージバケット名(S3/COS/OSS/TOSプロバイダー間で共有)。
PLUGIN_PPROF_ENABLEDfalseプラグインデーモンのGo pprofプロファイリングを有効化。
PLUGIN_PYTHON_ENV_INIT_TIMEOUT120プラグインのPython環境初期化のタイムアウト(秒)。
PLUGIN_STDIO_BUFFER_SIZE1024プラグインstdio通信のバッファサイズ(バイト)。
PLUGIN_STDIO_MAX_BUFFER_SIZE5242880プラグインstdio通信の最大バッファサイズ(バイト、5 MB)。
ENFORCE_LANGGENIUS_PLUGIN_SIGNATUREStrueLangGenius公式プラグインの署名検証を強制。
ENDPOINT_URL_TEMPLATEhttp://localhost/e/{hook_id}プラグインエンドポイントのURLテンプレート。{hook_id}は実際のフックIDに置き換えられます。
EXPOSE_PLUGIN_DAEMON_PORT5002プラグインデーモンにマッピングされるホストポート。
EXPOSE_PLUGIN_DEBUGGING_HOSTlocalhostプラグインリモートデバッグのホスト。
EXPOSE_PLUGIN_DEBUGGING_PORT5003プラグインリモートデバッグのホストポート。
変数デフォルト値説明
PLUGIN_S3_USE_AWSfalseAWS S3を使用(S3互換サービスとの対比)。
PLUGIN_S3_USE_AWS_MANAGED_IAMfalse明示的な資格情報の代わりにIAMロールを使用。
PLUGIN_S3_ENDPOINT(空)S3エンドポイントURL。
PLUGIN_S3_USE_PATH_STYLEfalse仮想ホスト型の代わりにパス型URLを使用。
PLUGIN_AWS_ACCESS_KEY(空)AWS access key。
PLUGIN_AWS_SECRET_KEY(空)AWS secret key。
PLUGIN_AWS_REGION(空)AWSリージョン。
変数デフォルト値説明
PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME(空)Azure Blobコンテナ名。
PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING(空)Azure Blob接続文字列。
変数デフォルト値説明
PLUGIN_TENCENT_COS_SECRET_KEY(空)Tencent COS secret key。
PLUGIN_TENCENT_COS_SECRET_ID(空)Tencent COS secret ID。
PLUGIN_TENCENT_COS_REGION(空)Tencent COSリージョン。
変数デフォルト値説明
PLUGIN_ALIYUN_OSS_REGION(空)Aliyun OSSリージョン。
PLUGIN_ALIYUN_OSS_ENDPOINT(空)Aliyun OSSエンドポイント。
PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID(空)Aliyun OSS access key ID。
PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET(空)Aliyun OSS access key secret。
PLUGIN_ALIYUN_OSS_AUTH_VERSIONv4Aliyun OSS認証バージョン。
PLUGIN_ALIYUN_OSS_PATH(空)Aliyun OSSパスプレフィックス。
変数デフォルト値説明
PLUGIN_VOLCENGINE_TOS_ENDPOINT(空)Volcengine TOSエンドポイント。
PLUGIN_VOLCENGINE_TOS_ACCESS_KEY(空)Volcengine TOS access key。
PLUGIN_VOLCENGINE_TOS_SECRET_KEY(空)Volcengine TOS secret key。
PLUGIN_VOLCENGINE_TOS_REGION(空)Volcengine TOSリージョン。