> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 環境変数

> Dify セルフホストデプロイで使用されるすべての環境変数のリファレンス

> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/self-host/deploy/configuration/environments) を参照してください。

Dify はデフォルト設定でそのまま動作します。デプロイをカスタマイズするには、関連するファイルの環境変数を編集します：

* **必須の起動値** は `docker/.env` にあります（デプロイ時に `docker/.env.example` からコピーして作成したファイル）。直接編集します。

* **オプションまたはプロバイダー固有の設定** は `docker/envs/` にテンプレートとして用意されています。デフォルト値を上書きするには、対応するテンプレートをコピーし（`.example` 拡張子を外す）、コピーを編集します。例：

  ```bash theme={null}
  cd dify/docker
  cp envs/vectorstores/milvus.env.example envs/vectorstores/milvus.env
  ```

`docker/.env` の値は、`docker/envs/*.env` ファイルの値より優先されます。

<Tip>
  Dify をアップグレードした後、各 `.env.example` を対応する `.env` と比較し、新規または変更された変数を確認してください。
</Tip>

## 共通変数

これらの 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 設定](#cors-設定) を参照）。デフォルトの `ws://localhost` はローカル専用環境でのみ動作します。

共同編集機能を無効化するには、この値を `false` に設定します。Docker Compose を使用している場合は、`COMPOSE_PROFILES` から `collaboration` も削除してください。削除しないと、専用の `api_websocket` コンテナはトラフィックを受け取らないまま起動し続けます。

独自のリバースプロキシを使用する場合は `/socket.io/` パスで `Upgrade` および `Connection` ヘッダーを転送してください（同梱の nginx テンプレートにはこの設定が含まれています）。API を複数レプリカで運用する場合はスティッキーセッションが必要です。

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

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

## サーバー設定

### ログ

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

### 一般

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

### SECRET\_KEY

デフォルト値：（`.env.example` にプリセット；本番環境では必ず置き換えてください）

セッション Cookie 署名、JWT 認証トークンに使用されます。さらに、ファイル URL 署名（HMAC-SHA256）とサードパーティ OAuth 資格情報の暗号化（AES-256）にも使用されます。初回起動前に、強力なキーを生成してください：

```bash theme={null}
openssl rand -base64 42
```

<Warning>
  デプロイ後にこのキーを変更すると、すべてのユーザーが即座にログアウトされ、すべてのファイル URL が無効になり、OAuth を使用するプラグイン連携が壊れます。暗号化された資格情報は復元できなくなります。
</Warning>

### INIT\_PASSWORD

デフォルト値：（空）

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

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

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

### コンテナ起動設定

Docker イメージまたは Docker Compose で起動する場合にのみ有効です。

| 変数                                    | デフォルト値                                                   | 説明                                                                                                                                                                               |
| ------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DIFY_BIND_ADDRESS`                   | `0.0.0.0`                                                | API サーバーがバインドするネットワークインターフェース。`0.0.0.0`はすべてのインターフェースでリッスンします。`127.0.0.1` に設定するとローカルホストのみに制限されます。                                                                                 |
| `DIFY_PORT`                           | `5001`                                                   | API サーバーのリッスンポート。                                                                                                                                                                |
| `SERVER_WORKER_AMOUNT`                | `1`                                                      | Gunicorn ワーカープロセス数。gevent（デフォルト）使用時は各ワーカーが greenlet で複数の同時接続を処理するため、通常 1 で十分です。同期ワーカーの場合は `(2 x CPUコア数) + 1`を使用してください。[参考ドキュメント](https://gunicorn.org/design/#how-many-workers)。 |
| `SERVER_WORKER_CLASS`                 | `gevent`                                                 | Gunicorn ワーカータイプ。デフォルト値のままにしてください。他の値は psycopg2 と gRPC のパッチを壊します。                                                                                                                |
| `SERVER_WORKER_CONNECTIONS`           | `10`                                                     | ワーカーごとの最大同時接続数。非同期ワーカー（gevent）にのみ適用されます。高負荷時に接続拒否やレスポンス遅延が発生する場合は、この値を増加してください。                                                                                                  |
| `GUNICORN_TIMEOUT`                    | `360`                                                    | ワーカーがこの秒数以内に応答しない場合、Gunicorn はそのワーカーを終了して再起動します。ストリーミング LLM レスポンスに使用される長時間 SSE 接続をサポートするため、360（6 分）に設定されています。                                                                    |
| `API_WEBSOCKET_WORKER_CLASS`          | `geventwebsocket.gunicorn.workers.GeventWebSocketWorker` | Docker Compose のみ。専用の `api_websocket` コンテナのワーカークラスです。デフォルト値のままにしてください。他の値は WebSocket サポートを壊します。                                                                                  |
| `API_WEBSOCKET_WORKER_CONNECTIONS`    | `1000`                                                   | Docker Compose のみ。`api_websocket` コンテナが同時に受け付ける WebSocket 接続の最大数です。開いているワークフローエディタタブごとに 1 接続を使用するため、デフォルトでは最大 1000 の同時編集セッションを処理できます。それ以上が見込まれる場合は値を増やしてください。                    |
| `API_WEBSOCKET_GUNICORN_TIMEOUT`      | `360`                                                    | Docker Compose のみ。`api_websocket` ワーカーがこの秒数内に応答しない場合、Gunicorn が再起動します。デフォルトの 360 秒（6 分）は長時間保持される WebSocket 接続に適しています。                                                            |
| `CELERY_WORKER_CLASS`                 | （空；デフォルトは gevent）                                        | Celery ワーカータイプ。`SERVER_WORKER_CLASS` と同じ gevent パッチ要件があります。変更は強く非推奨です。                                                                                                           |
| `CELERY_WORKER_AMOUNT`                | `4`                                                      | Celery ワーカープロセス数。オートスケーリング無効時のみ使用されます。リソースの限られた VM では下げてください。スループットを柔軟に調整したい場合は、この値を上げるより `CELERY_AUTO_SCALE` を有効化するほうが適切です。                                                     |
| `CELERY_AUTO_SCALE`                   | `false`                                                  | 動的オートスケーリングを有効化。有効時、Celery はキュー深度を監視し、`CELERY_MIN_WORKERS`から `CELERY_MAX_WORKERS` の間でワーカーを動的に生成/終了します。                                                                           |
| `CELERY_MAX_WORKERS`                  | （空；デフォルトは CPU 数）                                         | オートスケーリング有効時の最大ワーカー数。                                                                                                                                                            |
| `CELERY_MIN_WORKERS`                  | （空；デフォルトは 1）                                             | オートスケーリング有効時の最小ワーカー数。                                                                                                                                                            |
| `COMPOSE_WORKER_HEALTHCHECK_DISABLED` | `true`                                                   | Docker Compose による Celery Worker コンテナのヘルスチェックを無効化します。繁忙な Worker 上での `celery inspect ping` はコストが高いため、デフォルトで無効です。`false` に設定すると有効化されます。Docker Compose デプロイメントにのみ適用されます。            |
| `COMPOSE_WORKER_HEALTHCHECK_INTERVAL` | `30s`                                                    | Celery Worker ヘルスチェックの実行間隔。`COMPOSE_WORKER_HEALTHCHECK_DISABLED=false` の場合にのみ有効です。Docker Compose の期間書式（例：`30s`、`1m`）を受け付けます。                                                     |
| `COMPOSE_WORKER_HEALTHCHECK_TIMEOUT`  | `30s`                                                    | 1 回の Celery Worker ヘルスチェックのタイムアウト。`COMPOSE_WORKER_HEALTHCHECK_DISABLED=false` の場合にのみ有効です。                                                                                        |

### API ツール設定

| 変数                                 | デフォルト値 | 説明                                            |
| ---------------------------------- | ------ | --------------------------------------------- |
| `API_TOOL_DEFAULT_CONNECT_TIMEOUT` | `10`   | API ツールノードが外部 API を呼び出す際の TCP 接続確立の最大待機時間（秒）。 |
| `API_TOOL_DEFAULT_READ_TIMEOUT`    | `60`   | API ツールノードが外部 API からレスポンスデータを受信する最大待機時間（秒）。   |

### データベース設定

データベースはデフォルトで PostgreSQL を使用します。OceanBase、MySQL、seekdb もサポートされています。

| 変数            | デフォルト値         | 説明                                                                                                     |
| ------------- | -------------- | ------------------------------------------------------------------------------------------------------ |
| `DB_TYPE`     | `postgresql`   | データベースタイプ。サポートされる値：`postgresql`、`mysql`、`oceanbase`、`seekdb`。TiDB などの MySQL 互換データベースは `mysql` を使用できます。 |
| `DB_USERNAME` | `postgres`     | データベースユーザー名。接続文字列で URL エンコードされるため、特殊文字も安全に使用できます。                                                      |
| `DB_PASSWORD` | `difyai123456` | データベースパスワード。接続文字列で URL エンコードされるため、`@`、`:`、`%` などの文字も安全に使用できます。                                         |
| `DB_HOST`     | `db_postgres`  | データベースサーバーのホスト名。                                                                                       |
| `DB_PORT`     | `5432`         | データベースサーバーのポート。MySQL を使用する場合は `3306` に設定してください。                                                        |
| `DB_DATABASE` | `dify`         | データベース名。                                                                                               |

#### コネクションプール

Dify がデータベースコネクションプールを管理する方法を制御します。デフォルト設定はほとんどのデプロイで問題なく動作します。

| 変数                                | デフォルト値     | 説明                                                                                        |
| --------------------------------- | ---------- | ----------------------------------------------------------------------------------------- |
| `SQLALCHEMY_POOL_SIZE`            | `30`       | プール内に保持する永続接続数。                                                                           |
| `SQLALCHEMY_MAX_OVERFLOW`         | `10`       | プールが満杯の場合に許可される追加の一時接続数。デフォルト設定では、最大 40 接続（30 + 10）が同時に存在できます。                            |
| `SQLALCHEMY_POOL_RECYCLE`         | `3600`     | この秒数の後に接続をリサイクルし、古い接続を防止します。                                                              |
| `SQLALCHEMY_POOL_TIMEOUT`         | `30`       | プールが枯渇した場合の接続待機時間。この時間内に接続が解放されない場合、リクエストはタイムアウトエラーで失敗します。                                |
| `SQLALCHEMY_POOL_RESET_ON_RETURN` | `rollback` | 接続がプールに返却された際の SQLAlchemy の動作です。`rollback` は再利用前に未コミットのトランザクション状態をクリアし、`commit` はコミットします。 |
| `SQLALCHEMY_POOL_PRE_PING`        | `false`    | 使用前に軽量クエリで接続をテストします。「接続切断」エラーを防止しますが、わずかなレイテンシーが追加されます。不安定なネットワークの本番環境で推奨されます。            |
| `SQLALCHEMY_POOL_USE_LIFO`        | `false`    | 均等ローテーション（FIFO）の代わりに、最後に返却された接続を再利用します（LIFO）。LIFO はより少ない接続を「ウォーム」状態に保ち、オーバーヘッドを削減できます。    |
| `SQLALCHEMY_ECHO`                 | `false`    | すべての SQL 文をログに出力します。クエリ問題のデバッグに有用です。                                                      |

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

これらは PostgreSQL コンテナへの起動引数として渡されます。Dify アプリケーションではなく、データベースサーバーの設定です。

| 変数                                             | デフォルト値   | 説明                                                                                                                                                                                                                                                                                     |
| ---------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `POSTGRES_MAX_CONNECTIONS`                     | `200`    | 最大データベース接続数。API と Celery ワーカーが同時に接続プールを開くため、`too many connections` エラーを避けるには、少なくとも `SERVER_WORKER_AMOUNT × SERVER_WORKER_CONNECTIONS + CELERY_WORKER_AMOUNT + 余裕` の接続数を確保してください。[参考ドキュメント](https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS) |
| `POSTGRES_SHARED_BUFFERS`                      | `128MB`  | バッファ用共有メモリ。推奨値：利用可能メモリの 25%。[参考ドキュメント](https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-SHARED-BUFFERS)                                                                                                                                                        |
| `POSTGRES_WORK_MEM`                            | `4MB`    | データベースワーカーごとの作業メモリ。[参考ドキュメント](https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-WORK-MEM)                                                                                                                                                                       |
| `POSTGRES_MAINTENANCE_WORK_MEM`                | `64MB`   | メンテナンス作業用に予約されるメモリ。[参考ドキュメント](https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM)                                                                                                                                                           |
| `POSTGRES_EFFECTIVE_CACHE_SIZE`                | `4096MB` | プランナーの有効キャッシュサイズの推定値。[参考ドキュメント](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE)                                                                                                                                                            |
| `POSTGRES_STATEMENT_TIMEOUT`                   | `0`      | ステートメント終了前の最大実行時間（ミリ秒）。`0`はタイムアウトなし。[参考ドキュメント](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT)                                                                                                                                               |
| `POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT` | `0`      | トランザクション内アイドルセッションの最大時間（ミリ秒）。`0`はタイムアウトなし。[参考ドキュメント](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT)                                                                                                                       |

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

これらは MySQL コンテナへの起動引数として渡されます。Dify アプリケーションではなく、データベースサーバーの設定です。

| 変数                                     | デフォルト値 | 説明                                                                                                                                                                                                    |
| -------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MYSQL_MAX_CONNECTIONS`                | `1000` | 最大 MySQL 接続数。                                                                                                                                                                                         |
| `MYSQL_INNODB_BUFFER_POOL_SIZE`        | `512M` | InnoDB バッファプールサイズ。推奨値：専用 MySQL サーバーの利用可能メモリの 70-80%。[参考ドキュメント](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size)                                         |
| `MYSQL_INNODB_LOG_FILE_SIZE`           | `128M` | InnoDB ログファイルサイズ。[参考ドキュメント](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_file_size)                                                                               |
| `MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT` | `2`    | トランザクションコミット時の InnoDB ログフラッシュ方式。オプション：`0`（フラッシュなし）、`1`（フラッシュ＆同期）、`2`（OS キャッシュへフラッシュ）。[参考ドキュメント](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit) |

### Redis 設定

これらの変数を設定して、Dify を Redis インスタンスに接続します。Dify はスタンドアロン（デフォルト）、Sentinel、Cluster の 3 つのデプロイモードをサポートしています。

| 変数                      | デフォルト値         | 説明                                                                                                                                                                                                                                                                                                                                                |
| ----------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `REDIS_HOST`            | `redis`        | Redis サーバーのホスト名。スタンドアロンモードでのみ使用されます。Sentinel または Cluster モード有効時は無視されます。                                                                                                                                                                                                                                                                           |
| `REDIS_PORT`            | `6379`         | Redis サーバーのポート。スタンドアロンモードでのみ使用されます。                                                                                                                                                                                                                                                                                                               |
| `REDIS_USERNAME`        | （空）            | Redis 6.0+ ACL ユーザー名。すべてのモード（スタンドアロン、Sentinel、Cluster）に適用されます。                                                                                                                                                                                                                                                                                    |
| `REDIS_PASSWORD`        | `difyai123456` | Redis 認証パスワード。Cluster モードの場合は、代わりに `REDIS_CLUSTERS_PASSWORD` を使用してください。                                                                                                                                                                                                                                                                           |
| `REDIS_DB`              | `0`            | Redis データベース番号（0-15）。スタンドアロンおよび Sentinel モードにのみ適用されます。Celery のデータベース（`CELERY_BROKER_URL` で設定；デフォルトは DB 1）と衝突しないようにしてください。                                                                                                                                                                                                                         |
| `REDIS_KEY_PREFIX`      | （空）            | Redis キーに適用されるグローバルプレフィックス。Pub/Sub チャネル、Redis Streams 名、Celery のキューと結果バックエンドキーにも適用されます。Dify はプレフィックスとキーの間にコロンを自動挿入します。たとえば `staging` を設定すると、実際のキーは `staging:session:abc` の形式になります。複数の Dify インスタンスが同一の Redis を共有する場合（例：staging と production）、キー衝突の回避に有効です。空のままにすると、プレフィックスなしのデフォルト動作を維持します。既存のデプロイで後から有効化すると、以前のプレフィックス（または空）で書き込まれたキーは参照できなくなります。 |
| `REDIS_USE_SSL`         | `false`        | Redis 接続の SSL/TLS を有効化。Sentinel プロトコルには自動適用されません。                                                                                                                                                                                                                                                                                                 |
| `REDIS_MAX_CONNECTIONS` | （空）            | Redis プール内の最大接続数。空のままでライブラリのデフォルトを使用します。必要に応じて Redis サーバーの `maxclients` に合わせて設定してください。                                                                                                                                                                                                                                                            |

#### Redis SSL 設定

`REDIS_USE_SSL=true`の場合にのみ適用されます。Celery broker の URL が `rediss://` スキームを使用する場合、これらの設定は Celery broker にも適用されます。

| 変数                    | デフォルト値      | 説明                                                                             |
| --------------------- | ----------- | ------------------------------------------------------------------------------ |
| `REDIS_SSL_CERT_REQS` | `CERT_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_SENTINEL`            | `false` | Redis 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_TIMEOUT` | `0.1`   | Sentinel ノードとの通信の Socket タイムアウト（秒）。デフォルトの 0.1 秒は高速なローカルネットワークを想定しています。クラウド/WAN デプロイでは、断続的なタイムアウトを防止するために 1.0-5.0 秒に増加してください。 |

#### Redis Cluster モード

Cluster モードは複数の Redis ノード間での自動シャーディングを提供します。Sentinel モードとは相互に排他的です。

| 変数                        | デフォルト値  | 説明                                                         |
| ------------------------- | ------- | ---------------------------------------------------------- |
| `REDIS_USE_CLUSTERS`      | `false` | Redis Cluster モードを有効化。                                     |
| `REDIS_CLUSTERS`          | （空）     | Cluster ノード。形式：`<ip1>:<port1>,<ip2>:<port2>,<ip3>:<port3>` |
| `REDIS_CLUSTERS_PASSWORD` | （空）     | Redis Cluster のパスワード。                                      |

#### Redis 接続の堅牢性設定

これらの変数は、Redis 接続のクライアント側リトライ、タイムアウト、ヘルスチェックの動作を調整します。デフォルト値は控えめに設定されています。ネットワークレイテンシが高いクラウド/WAN デプロイでは、タイムアウト値を増やしてください。

| 変数                             | デフォルト値 | 説明                                                                                                                             |
| ------------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `REDIS_RETRY_RETRIES`          | `3`    | 一時的な障害（`ConnectionError`、`TimeoutError`、`socket.timeout`）発生時の、Redis コマンドごとの最大リトライ回数。`0` に設定するとリトライを無効化します。ジッター付き指数バックオフを使用します。 |
| `REDIS_RETRY_BACKOFF_BASE`     | `1.0`  | リトライ間の指数バックオフのベース遅延（秒）。                                                                                                        |
| `REDIS_RETRY_BACKOFF_CAP`      | `10.0` | リトライ間のバックオフ遅延の上限（秒）。                                                                                                           |
| `REDIS_SOCKET_TIMEOUT`         | `5.0`  | Redis 読み取り/書き込み操作の Socket タイムアウト（秒）。高負荷下で断続的なコマンドタイムアウトが発生する場合は増やしてください。                                                       |
| `REDIS_SOCKET_CONNECT_TIMEOUT` | `5.0`  | Redis 接続確立の Socket タイムアウト（秒）。                                                                                                  |
| `REDIS_HEALTH_CHECK_INTERVAL`  | `30`   | アイドル接続に対するクライアント側ヘルスチェックの間隔（秒）。`0`に設定すると無効化します。Cluster モードでは適用されません（`redis-py` が該当パラメータを静かに削除します）。                             |

### Celery 設定

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

### CELERY\_BROKER\_URL

デフォルト値：`redis://:difyai123456@redis:6379/1`

Celery メッセージブローカーの Redis 接続 URL。

直接接続形式：

```text theme={null}
redis://<redis_username>:<redis_password>@<redis_host>:<redis_port>/<redis_database>
```

Sentinel モード形式（複数ノードはセミコロンで区切り）：

```text theme={null}
sentinel://<redis_username>:<redis_password>@<sentinel_host>:<sentinel_port>/<redis_database>
```

| 変数                               | デフォルト値  | 説明                                                                                                         |
| -------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| `CELERY_BACKEND`                 | `redis` | Celery がタスク結果を保存する場所。オプション：`redis`（高速、インメモリ）または `database`（メインデータベースに保存）。                                  |
| `BROKER_USE_SSL`                 | `false` | `CELERY_BROKER_URL`が `rediss://` スキームを使用する場合に自動有効化。Redis SSL 証明書設定を broker 接続に適用します。                       |
| `CELERY_USE_SENTINEL`            | `false` | Celery broker の Redis Sentinel モードを有効化。                                                                    |
| `CELERY_SENTINEL_MASTER_NAME`    | （空）     | Sentinel サービス名（Master Name）。                                                                               |
| `CELERY_SENTINEL_PASSWORD`       | （空）     | Sentinel 認証パスワード。`REDIS_SENTINEL_PASSWORD` とは別です。キャッシュとタスクキューで異なる Sentinel クラスターを使用する場合に異なる値を設定できます。       |
| `CELERY_SENTINEL_SOCKET_TIMEOUT` | `0.1`   | Sentinel への接続タイムアウト（秒）。                                                                                    |
| `CELERY_TASK_ANNOTATIONS`        | `null`  | 特定のタスクにランタイム設定（例：レート制限）を適用します。形式：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_SOCKET_URL`        | `ws://localhost` | リアルタイム共同編集のためのブラウザ側 WebSocket エンドポイント。スキーム + ホスト + ポートのみを指定します（パス `/socket.io/` は固定）。`http(s)://` を `ws(s)://` に置き換えてください。例：`wss://dify.example.com`。デフォルトは同梱 nginx の 80 番ポートに対応します。ランタイムで適用されるため、コンテナ再起動で反映されます。 |
| `NEXT_PUBLIC_BATCH_CONCURRENCY` | `5`              | フロントエンドのみ。バッチ操作時に UI が発行する同時 API コール数を制御します。                                                                                                                                                                      |

### ファイルストレージ設定

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 のファイルシステムスキームを使用）。

<AccordionGroup>
  <Accordion title="OpenDAL（デフォルト）">
    [Apache OpenDAL](https://opendal.apache.org/) を使用するデフォルトのストレージバックエンド。多くのストレージサービスをサポートする統一インターフェースです。Dify は `OPENDAL_<SCHEME>_*` に一致する環境変数を自動スキャンし、OpenDAL に渡します。例えば、`OPENDAL_SCHEME=s3` の場合、`OPENDAL_S3_ACCESS_KEY_ID`、`OPENDAL_S3_SECRET_ACCESS_KEY` などを設定します。

    | 変数               | デフォルト値 | 説明                                                      |
    | ---------------- | ------ | ------------------------------------------------------- |
    | `OPENDAL_SCHEME` | `fs`   | 使用するストレージサービス。例：`fs`（ローカルファイルシステム）、`s3`、`gcs`、`azblob`。 |

    デフォルトの `fs` スキームの場合：

    | 変数                | デフォルト値    | 説明                                            |
    | ----------------- | --------- | --------------------------------------------- |
    | `OPENDAL_FS_ROOT` | `storage` | ローカルファイルシステムストレージのルートディレクトリ。存在しない場合は自動作成されます。 |

    利用可能なすべてのスキームとその設定オプションについては、 [OpenDAL サービスドキュメント](https://github.com/apache/opendal/tree/main/core/services) を参照してください。
  </Accordion>

  <Accordion title="S3">
    | 変数                       | デフォルト値      | 説明                                                                                                                                                  |
    | ------------------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
    | `S3_ENDPOINT`            | （空）         | S3 エンドポイントアドレス。AWS 以外の S3 互換サービス（MinIO など）では必須です。                                                                                                   |
    | `S3_REGION`              | `us-east-1` | S3 リージョン。                                                                                                                                           |
    | `S3_BUCKET_NAME`         | `difyai`    | S3 バケット名。                                                                                                                                           |
    | `S3_ACCESS_KEY`          | （空）         | S3 Access Key。IAM ロール使用時は不要です。                                                                                                                      |
    | `S3_SECRET_KEY`          | （空）         | S3 Secret Key。IAM ロール使用時は不要です。                                                                                                                      |
    | `S3_ADDRESS_STYLE`       | `auto`      | S3 アドレッシングスタイル：`auto`、`path`、または `virtual`。バケット名を URL パスに含める（`path`）か、サブドメインとして使用する（`virtual`）かを制御します。`S3_USE_AWS_MANAGED_IAM` が `false` の場合のみ有効です。 |
    | `S3_USE_AWS_MANAGED_IAM` | `false`     | 明示的な access key や secret key の代わりに AWS IAM ロールを使用します。対象は EC2 インスタンスプロファイルや ECS タスクロールです。有効時はインスタンスメタデータから資格情報を自動検出します。                              |
  </Accordion>

  <Accordion title="Azure Blob">
    | 変数                          | デフォルト値                                              | 説明                    |
    | --------------------------- | --------------------------------------------------- | --------------------- |
    | `AZURE_BLOB_ACCOUNT_NAME`   | `difyai`                                            | Azure ストレージアカウント名。    |
    | `AZURE_BLOB_ACCOUNT_KEY`    | `difyai`                                            | Azure ストレージアカウントキー。   |
    | `AZURE_BLOB_CONTAINER_NAME` | `difyai-container`                                  | Azure Blob コンテナ名。     |
    | `AZURE_BLOB_ACCOUNT_URL`    | `https://<your_account_name>.blob.core.windows.net` | Azure Blob アカウント URL。 |
  </Accordion>

  <Accordion title="Google Cloud Storage">
    | 変数                                           | デフォルト値 | 説明                                |
    | -------------------------------------------- | ------ | --------------------------------- |
    | `GOOGLE_STORAGE_BUCKET_NAME`                 | （空）    | Google Cloud Storage バケット名。       |
    | `GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64` | （空）    | Base64 エンコードされたサービスアカウント JSON キー。 |
  </Accordion>

  <Accordion title="Alibaba Cloud OSS">
    | 変数                        | デフォルト値                                             | 説明                                                                                                             |
    | ------------------------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
    | `ALIYUN_OSS_BUCKET_NAME`  | （空）                                                | OSS バケット名。                                                                                                     |
    | `ALIYUN_OSS_ACCESS_KEY`   | （空）                                                | OSS access key。                                                                                                |
    | `ALIYUN_OSS_SECRET_KEY`   | （空）                                                | OSS secret key。                                                                                                |
    | `ALIYUN_OSS_ENDPOINT`     | `https://oss-ap-southeast-1-internal.aliyuncs.com` | OSS エンドポイント。[リージョンとエンドポイントのリファレンス](https://www.alibabacloud.com/help/en/oss/user-guide/regions-and-endpoints)。 |
    | `ALIYUN_OSS_REGION`       | `ap-southeast-1`                                   | OSS リージョン。                                                                                                     |
    | `ALIYUN_OSS_AUTH_VERSION` | `v4`                                               | OSS 認証バージョン。                                                                                                   |
    | `ALIYUN_OSS_PATH`         | （空）                                                | オブジェクトパスプレフィックス。`/`で始めないでください。[参考ドキュメント](https://www.alibabacloud.com/help/en/oss/support/0016-00000005)。      |
    | `ALIYUN_CLOUDBOX_ID`      | （空）                                                | CloudBox ベースの OSS デプロイ用の CloudBox ID。                                                                          |
  </Accordion>

  <Accordion title="Tencent Cloud COS">
    | 変数                          | デフォルト値 | 説明                                                                                           |
    | --------------------------- | ------ | -------------------------------------------------------------------------------------------- |
    | `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`）。[参考ドキュメント](https://cloud.tencent.com/document/product/436/6224)。 |
    | `TENCENT_COS_SCHEME`        | （空）    | COS アクセス用プロトコル（`http`または `https`）。                                                           |
    | `TENCENT_COS_CUSTOM_DOMAIN` | （空）    | COS アクセス用カスタムドメイン。                                                                           |
  </Accordion>

  <Accordion title="OCI Object Storage">
    | 変数                | デフォルト値         | 説明               |
    | ----------------- | -------------- | ---------------- |
    | `OCI_ENDPOINT`    | （空）            | OCI エンドポイント URL。 |
    | `OCI_BUCKET_NAME` | （空）            | OCI バケット名。       |
    | `OCI_ACCESS_KEY`  | （空）            | OCI access key。  |
    | `OCI_SECRET_KEY`  | （空）            | OCI secret key。  |
    | `OCI_REGION`      | `us-ashburn-1` | OCI リージョン。       |
  </Accordion>

  <Accordion title="Huawei OBS">
    | 変数                       | デフォルト値  | 説明                                                                                             |
    | ------------------------ | ------- | ---------------------------------------------------------------------------------------------- |
    | `HUAWEI_OBS_BUCKET_NAME` | （空）     | OBS バケット名。                                                                                     |
    | `HUAWEI_OBS_ACCESS_KEY`  | （空）     | OBS access key。                                                                                |
    | `HUAWEI_OBS_SECRET_KEY`  | （空）     | OBS secret key。                                                                                |
    | `HUAWEI_OBS_SERVER`      | （空）     | OBS サーバー URL。[参考ドキュメント](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0500.html)。 |
    | `HUAWEI_OBS_PATH_STYLE`  | `false` | 仮想ホスト型の代わりにパス型 URL を使用。                                                                        |
  </Accordion>

  <Accordion title="Volcengine TOS">
    | 変数                           | デフォルト値 | 説明                                                                       |
    | ---------------------------- | ------ | ------------------------------------------------------------------------ |
    | `VOLCENGINE_TOS_BUCKET_NAME` | （空）    | TOS バケット名。                                                               |
    | `VOLCENGINE_TOS_ACCESS_KEY`  | （空）    | TOS access key。                                                          |
    | `VOLCENGINE_TOS_SECRET_KEY`  | （空）    | TOS secret key。                                                          |
    | `VOLCENGINE_TOS_ENDPOINT`    | （空）    | TOS エンドポイント URL。[参考ドキュメント](https://www.volcengine.com/docs/6349/107356)。 |
    | `VOLCENGINE_TOS_REGION`      | （空）    | TOS リージョン（例：`cn-guangzhou`）。                                             |
  </Accordion>

  <Accordion title="Baidu OBS">
    | 変数                      | デフォルト値 | 説明                    |
    | ----------------------- | ------ | --------------------- |
    | `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。   |
  </Accordion>

  <Accordion title="Supabase">
    | 変数                     | デフォルト値 | 説明                   |
    | ---------------------- | ------ | -------------------- |
    | `SUPABASE_BUCKET_NAME` | （空）    | Supabase ストレージバケット名。 |
    | `SUPABASE_API_KEY`     | （空）    | Supabase API キー。     |
    | `SUPABASE_URL`         | （空）    | Supabase サーバー URL。   |
  </Accordion>

  <Accordion title="ClickZetta Volume">
    | 変数                               | デフォルト値     | 説明                                                                              |
    | -------------------------------- | ---------- | ------------------------------------------------------------------------------- |
    | `CLICKZETTA_VOLUME_TYPE`         | `user`     | ボリュームタイプ。オプション：`user`（個人/小規模チーム）、`table`（エンタープライズマルチテナント）、`external`（データレイク統合）。 |
    | `CLICKZETTA_VOLUME_NAME`         | （空）        | 外部ボリューム名（`TYPE=external` の場合のみ必要）。                                              |
    | `CLICKZETTA_VOLUME_TABLE_PREFIX` | `dataset_` | テーブルボリュームのテーブルプレフィックス（`TYPE=table` の場合のみ使用）。                                    |
    | `CLICKZETTA_VOLUME_DIFY_PREFIX`  | `dify_km`  | 他のアプリから分離するための Dify ファイルディレクトリプレフィックス。                                          |

    ClickZetta Volume は、ベクトルデータベースセクションで設定された `CLICKZETTA_*` 接続パラメータを再利用します。
  </Accordion>
</AccordionGroup>

#### アーカイブストレージ

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

| 変数                               | デフォルト値  | 説明                             |
| -------------------------------- | ------- | ------------------------------ |
| `ARCHIVE_STORAGE_ENABLED`        | `false` | ワークフローログアーカイブ用のアーカイブストレージを有効化。 |
| `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_REGION`         | `auto`  | ストレージリージョン。                    |

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

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

### 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`。

| 変数                         | デフォルト値         | 説明                                                                              |
| -------------------------- | -------------- | ------------------------------------------------------------------------------- |
| `VECTOR_INDEX_NAME_PREFIX` | `Vector_index` | ベクトルデータベースのコレクション名に追加されるプレフィックス。複数の Dify デプロイでベクトルデータベースインスタンスを共有する場合に変更してください。 |

<AccordionGroup>
  <Accordion title="Weaviate">
    | 変数                       | デフォルト値                  | 説明                                                                                                |
    | ------------------------ | ----------------------- | ------------------------------------------------------------------------------------------------- |
    | `WEAVIATE_ENDPOINT`      | `http://weaviate:8080`  | Weaviate REST API エンドポイント。                                                                        |
    | `WEAVIATE_API_KEY`       | （空）                     | Weaviate 認証用 API キー。                                                                              |
    | `WEAVIATE_GRPC_ENDPOINT` | `grpc://weaviate:50051` | 高性能バイナリプロトコル用の別の gRPC エンドポイント。バッチ操作が大幅に高速になります。未設定の場合、HTTP エンドポイントから推測されます。                       |
    | `WEAVIATE_TOKENIZATION`  | `word`                  | テキストフィールドのトークン化方法。オプション：`word`（空白と句読点で分割）、`whitespace`（空白のみで分割）、`character`（文字レベル、CJK 言語に適しています）。 |
  </Accordion>

  <Accordion title="OceanBase / seekdb">
    seekdb は OceanBase のライト版であり、同じ接続設定を共有します。

    | 変数                               | デフォルト値         | 説明                                                                                                 |
    | -------------------------------- | -------------- | -------------------------------------------------------------------------------------------------- |
    | `OCEANBASE_VECTOR_HOST`          | `oceanbase`    | ホスト名または IP アドレス。                                                                                   |
    | `OCEANBASE_VECTOR_PORT`          | `2881`         | ポート番号。                                                                                             |
    | `OCEANBASE_VECTOR_USER`          | `root@test`    | データベースユーザー名。                                                                                       |
    | `OCEANBASE_VECTOR_PASSWORD`      | `difyai123456` | データベースパスワード。                                                                                       |
    | `OCEANBASE_VECTOR_DATABASE`      | `test`         | データベース名。                                                                                           |
    | `OCEANBASE_CLUSTER_NAME`         | `difyai`       | クラスター名（Docker デプロイのみ）。                                                                             |
    | `OCEANBASE_MEMORY_LIMIT`         | `6G`           | OceanBase のメモリ制限（Docker デプロイのみ）。                                                                   |
    | `SEEKDB_MEMORY_LIMIT`            | `2G`           | seekdb のメモリ制限（Docker デプロイのみ）。                                                                      |
    | `OCEANBASE_ENABLE_HYBRID_SEARCH` | `false`        | ベクトル検索と併用する BM25 クエリ用の全文インデックスを有効化。OceanBase >= 4.3.5.1 が必要です。有効化後にコレクションを再作成する必要があります。            |
    | `OCEANBASE_FULLTEXT_PARSER`      | `ik`           | 全文パーサー。組み込み：`ngram`、`beng`、`space`、`ngram2`、`ik`。外部（プラグインが必要）：`japanese_ftparser`、`thai_ftparser`。 |
  </Accordion>

  <Accordion title="Qdrant">
    | 変数                          | デフォルト値               | 説明                  |
    | --------------------------- | -------------------- | ------------------- |
    | `QDRANT_URL`                | `http://qdrant:6333` | Qdrant エンドポイントアドレス。 |
    | `QDRANT_API_KEY`            | `difyai123456`       | Qdrant 用 API キー。    |
    | `QDRANT_CLIENT_TIMEOUT`     | `20`                 | クライアントタイムアウト（秒）。    |
    | `QDRANT_GRPC_ENABLED`       | `false`              | gRPC 通信を有効化。        |
    | `QDRANT_GRPC_PORT`          | `6334`               | gRPC ポート。           |
    | `QDRANT_REPLICATION_FACTOR` | `1`                  | シャードごとのレプリカ数。       |
  </Accordion>

  <Accordion title="Milvus">
    | 変数                            | デフォルト値                              | 説明                                                                                                   |
    | ----------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------- |
    | `MILVUS_URI`                  | `http://host.docker.internal:19530` | Milvus URI。 [Zilliz Cloud](https://docs.zilliz.com/docs/free-trials) の場合は Public Endpoint を使用してください。 |
    | `MILVUS_DATABASE`             | （空）                                 | データベース名。                                                                                             |
    | `MILVUS_TOKEN`                | （空）                                 | 認証トークン。Zilliz Cloud の場合は API Key を使用してください。                                                          |
    | `MILVUS_USER`                 | （空）                                 | ユーザー名。                                                                                               |
    | `MILVUS_PASSWORD`             | （空）                                 | パスワード。                                                                                               |
    | `MILVUS_ENABLE_HYBRID_SEARCH` | `false`                             | ベクトル類似検索と併用する BM25 スパースインデックスによる全文検索を有効化。Milvus >= 2.5.0 が必要です。この機能を有効にせずに作成されたコレクションは再作成が必要です。      |
    | `MILVUS_ANALYZER_PARAMS`      | （空）                                 | テキストフィールドのアナライザーパラメータ。                                                                               |
    | `MILVUS_SECURE`               | `false`                             | Milvus 接続で一方向 TLS を有効にします。有効にすると、クライアントは TLS で暗号化された gRPC で接続し、サーバー証明書を検証します。                        |
    | `MILVUS_SERVER_PEM_PATH`      | （空）                                 | コンテナ内の Milvus サーバー証明書（PEM）のパス。`MILVUS_SECURE` が有効な場合にサーバーの検証に使用されます。                                 |
    | `MILVUS_SERVER_NAME`          | （空）                                 | 検証対象のサーバー名（TLS SNI、証明書の CN または SAN と一致）。`MILVUS_SERVER_PEM_PATH` を設定する場合は必須です。                       |
  </Accordion>

  <Accordion title="MyScale">
    | 変数                   | デフォルト値    | 説明                                                                                                      |
    | -------------------- | --------- | ------------------------------------------------------------------------------------------------------- |
    | `MYSCALE_HOST`       | `myscale` | MyScale ホスト。                                                                                            |
    | `MYSCALE_PORT`       | `8123`    | MyScale ポート。                                                                                            |
    | `MYSCALE_USER`       | `default` | ユーザー名。                                                                                                  |
    | `MYSCALE_PASSWORD`   | （空）       | パスワード。                                                                                                  |
    | `MYSCALE_DATABASE`   | `dify`    | データベース名。                                                                                                |
    | `MYSCALE_FTS_PARAMS` | （空）       | 全文検索パラメータ。[多言語サポートリファレンス](https://myscale.com/docs/en/text-search/#understanding-fts-index-parameters)。 |
  </Accordion>

  <Accordion title="Couchbase">
    | 変数                            | デフォルト値                         | 説明                     |
    | ----------------------------- | ------------------------------ | ---------------------- |
    | `COUCHBASE_CONNECTION_STRING` | `couchbase://couchbase-server` | Couchbase クラスターの接続文字列。 |
    | `COUCHBASE_USER`              | `Administrator`                | ユーザー名。                 |
    | `COUCHBASE_PASSWORD`          | `password`                     | パスワード。                 |
    | `COUCHBASE_BUCKET_NAME`       | `Embeddings`                   | バケット名。                 |
    | `COUCHBASE_SCOPE_NAME`        | `_default`                     | スコープ名。                 |
  </Accordion>

  <Accordion title="Hologres">
    | 変数                                | デフォルト値   | 説明                                |
    | --------------------------------- | -------- | --------------------------------- |
    | `HOLOGRES_HOST`                   | （空）      | ホスト名。                             |
    | `HOLOGRES_PORT`                   | `80`     | ポート番号。                            |
    | `HOLOGRES_DATABASE`               | （空）      | データベース名。                          |
    | `HOLOGRES_ACCESS_KEY_ID`          | （空）      | Access Key ID（PG ユーザー名として使用）。     |
    | `HOLOGRES_ACCESS_KEY_SECRET`      | （空）      | Access Key Secret（PG パスワードとして使用）。 |
    | `HOLOGRES_SCHEMA`                 | `public` | スキーマ名。                            |
    | `HOLOGRES_TOKENIZER`              | `jieba`  | テキストフィールドのトークナイザー。                |
    | `HOLOGRES_DISTANCE_METHOD`        | `Cosine` | 距離メソッド。                           |
    | `HOLOGRES_BASE_QUANTIZATION_TYPE` | `rabitq` | 量子化タイプ。                           |
    | `HOLOGRES_MAX_DEGREE`             | `64`     | HNSW の最大次数。                       |
    | `HOLOGRES_EF_CONSTRUCTION`        | `400`    | HNSW の ef\_construction パラメータ。    |
  </Accordion>

  <Accordion title="PGVector">
    | 変数                        | デフォルト値         | 説明                      |
    | ------------------------- | -------------- | ----------------------- |
    | `PGVECTOR_HOST`           | `pgvector`     | ホスト名。                   |
    | `PGVECTOR_PORT`           | `5432`         | ポート番号。                  |
    | `PGVECTOR_USER`           | `postgres`     | ユーザー名。                  |
    | `PGVECTOR_PASSWORD`       | `difyai123456` | パスワード。                  |
    | `PGVECTOR_DATABASE`       | `dify`         | データベース名。                |
    | `PGVECTOR_MIN_CONNECTION` | `1`            | 最小プール接続数。               |
    | `PGVECTOR_MAX_CONNECTION` | `5`            | 最大プール接続数。               |
    | `PGVECTOR_PG_BIGM`        | `false`        | 全文検索用の pg\_bigm 拡張を有効化。 |
  </Accordion>

  <Accordion title="Vastbase">
    | 変数                        | デフォルト値         | 説明        |
    | ------------------------- | -------------- | --------- |
    | `VASTBASE_HOST`           | `vastbase`     | ホスト名。     |
    | `VASTBASE_PORT`           | `5432`         | ポート番号。    |
    | `VASTBASE_USER`           | `dify`         | ユーザー名。    |
    | `VASTBASE_PASSWORD`       | `Difyai123456` | パスワード。    |
    | `VASTBASE_DATABASE`       | `dify`         | データベース名。  |
    | `VASTBASE_MIN_CONNECTION` | `1`            | 最小プール接続数。 |
    | `VASTBASE_MAX_CONNECTION` | `5`            | 最大プール接続数。 |
  </Accordion>

  <Accordion title="PGVecto.RS">
    | 変数                    | デフォルト値         | 説明       |
    | --------------------- | -------------- | -------- |
    | `PGVECTO_RS_HOST`     | `pgvecto-rs`   | ホスト名。    |
    | `PGVECTO_RS_PORT`     | `5432`         | ポート番号。   |
    | `PGVECTO_RS_USER`     | `postgres`     | ユーザー名。   |
    | `PGVECTO_RS_PASSWORD` | `difyai123456` | パスワード。   |
    | `PGVECTO_RS_DATABASE` | `dify`         | データベース名。 |
  </Accordion>

  <Accordion title="AnalyticDB">
    | 変数                              | デフォルト値        | 説明                                                                                                                                          |
    | ------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
    | `ANALYTICDB_KEY_ID`             | （空）           | Aliyun access key ID。[AccessKey の作成](https://help.aliyun.com/zh/analyticdb/analyticdb-for-postgresql/support/create-an-accesskey-pair)。     |
    | `ANALYTICDB_KEY_SECRET`         | （空）           | Aliyun access key secret。                                                                                                                   |
    | `ANALYTICDB_REGION_ID`          | `cn-hangzhou` | リージョン識別子。                                                                                                                                   |
    | `ANALYTICDB_INSTANCE_ID`        | （空）           | インスタンス ID（例：`gp-xxxxxx`）。[インスタンスの作成](https://help.aliyun.com/zh/analyticdb/analyticdb-for-postgresql/getting-started/create-an-instance-1)。 |
    | `ANALYTICDB_ACCOUNT`            | （空）           | アカウント名。[アカウントの作成](https://help.aliyun.com/zh/analyticdb/analyticdb-for-postgresql/getting-started/createa-a-privileged-account)。            |
    | `ANALYTICDB_PASSWORD`           | （空）           | アカウントパスワード。                                                                                                                                 |
    | `ANALYTICDB_NAMESPACE`          | `dify`        | 名前空間（スキーマ）。存在しない場合は自動作成されます。                                                                                                                |
    | `ANALYTICDB_NAMESPACE_PASSWORD` | （空）           | 名前空間パスワード。新しい名前空間作成時に使用されます。                                                                                                                |
    | `ANALYTICDB_HOST`               | （空）           | 直接接続ホスト（API ベースのアクセスの代替）。                                                                                                                   |
    | `ANALYTICDB_PORT`               | `5432`        | 直接接続ポート。                                                                                                                                    |
    | `ANALYTICDB_MIN_CONNECTION`     | `1`           | 最小プール接続数。                                                                                                                                   |
    | `ANALYTICDB_MAX_CONNECTION`     | `5`           | 最大プール接続数。                                                                                                                                   |
  </Accordion>

  <Accordion title="TiDB Vector">
    | 変数                     | デフォルト値 | 説明       |
    | ---------------------- | ------ | -------- |
    | `TIDB_VECTOR_HOST`     | `tidb` | ホスト名。    |
    | `TIDB_VECTOR_PORT`     | `4000` | ポート番号。   |
    | `TIDB_VECTOR_USER`     | （空）    | ユーザー名。   |
    | `TIDB_VECTOR_PASSWORD` | （空）    | パスワード。   |
    | `TIDB_VECTOR_DATABASE` | `dify` | データベース名。 |
  </Accordion>

  <Accordion title="MatrixOne">
    | 変数                   | デフォルト値      | 説明       |
    | -------------------- | ----------- | -------- |
    | `MATRIXONE_HOST`     | `matrixone` | ホスト名。    |
    | `MATRIXONE_PORT`     | `6001`      | ポート番号。   |
    | `MATRIXONE_USER`     | `dump`      | ユーザー名。   |
    | `MATRIXONE_PASSWORD` | `111`       | パスワード。   |
    | `MATRIXONE_DATABASE` | `dify`      | データベース名。 |
  </Accordion>

  <Accordion title="Chroma">
    | 変数                        | デフォルト値                                              | 説明              |
    | ------------------------- | --------------------------------------------------- | --------------- |
    | `CHROMA_HOST`             | `127.0.0.1`                                         | Chroma サーバーホスト。 |
    | `CHROMA_PORT`             | `8000`                                              | Chroma サーバーポート。 |
    | `CHROMA_TENANT`           | `default_tenant`                                    | テナント名。          |
    | `CHROMA_DATABASE`         | `default_database`                                  | データベース名。        |
    | `CHROMA_AUTH_PROVIDER`    | `chromadb.auth.token_authn.TokenAuthClientProvider` | 認証プロバイダークラス。    |
    | `CHROMA_AUTH_CREDENTIALS` | （空）                                                 | 認証資格情報。         |
  </Accordion>

  <Accordion title="Oracle">
    | 変数                       | デフォルト値                    | 説明                                    |
    | ------------------------ | ------------------------- | ------------------------------------- |
    | `ORACLE_USER`            | `dify`                    | Oracle ユーザー名。                         |
    | `ORACLE_PASSWORD`        | `dify`                    | Oracle パスワード。                         |
    | `ORACLE_DSN`             | `oracle:1521/FREEPDB1`    | データソース名。                              |
    | `ORACLE_CONFIG_DIR`      | `/app/api/storage/wallet` | Oracle 設定ディレクトリ。                      |
    | `ORACLE_WALLET_LOCATION` | `/app/api/storage/wallet` | Autonomous DB 用ウォレットの場所。              |
    | `ORACLE_WALLET_PASSWORD` | `dify`                    | ウォレットパスワード。                           |
    | `ORACLE_IS_AUTONOMOUS`   | `false`                   | Oracle Autonomous Database を使用するかどうか。 |
  </Accordion>

  <Accordion title="AlibabaCloud MySQL">
    | 変数                                  | デフォルト値         | 説明            |
    | ----------------------------------- | -------------- | ------------- |
    | `ALIBABACLOUD_MYSQL_HOST`           | `127.0.0.1`    | ホスト名。         |
    | `ALIBABACLOUD_MYSQL_PORT`           | `3306`         | ポート番号。        |
    | `ALIBABACLOUD_MYSQL_USER`           | `root`         | ユーザー名。        |
    | `ALIBABACLOUD_MYSQL_PASSWORD`       | `difyai123456` | パスワード。        |
    | `ALIBABACLOUD_MYSQL_DATABASE`       | `dify`         | データベース名。      |
    | `ALIBABACLOUD_MYSQL_MAX_CONNECTION` | `5`            | 最大プール接続数。     |
    | `ALIBABACLOUD_MYSQL_HNSW_M`         | `6`            | HNSW M パラメータ。 |
  </Accordion>

  <Accordion title="Relyt">
    | 変数               | デフォルト値         | 説明       |
    | ---------------- | -------------- | -------- |
    | `RELYT_HOST`     | `db`           | ホスト名。    |
    | `RELYT_PORT`     | `5432`         | ポート番号。   |
    | `RELYT_USER`     | `postgres`     | ユーザー名。   |
    | `RELYT_PASSWORD` | `difyai123456` | パスワード。   |
    | `RELYT_DATABASE` | `postgres`     | データベース名。 |
  </Accordion>

  <Accordion title="OpenSearch">
    | 変数                        | デフォルト値           | 説明                                                                                                                      |
    | ------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
    | `OPENSEARCH_HOST`         | `opensearch`     | ホスト名。                                                                                                                   |
    | `OPENSEARCH_PORT`         | `9200`           | ポート番号。                                                                                                                  |
    | `OPENSEARCH_SECURE`       | `true`           | HTTPS を使用。                                                                                                              |
    | `OPENSEARCH_VERIFY_CERTS` | `true`           | SSL 証明書を検証。                                                                                                             |
    | `OPENSEARCH_AUTH_METHOD`  | `basic`          | `basic`はユーザー名/パスワードを使用。`aws_managed_iam` は Boto3 資格情報による AWS SigV4 リクエスト署名を使用（AWS Managed OpenSearch または Serverless 用）。 |
    | `OPENSEARCH_USER`         | `admin`          | ユーザー名。`basic` 認証でのみ使用。                                                                                                  |
    | `OPENSEARCH_PASSWORD`     | `admin`          | パスワード。`basic` 認証でのみ使用。                                                                                                  |
    | `OPENSEARCH_AWS_REGION`   | `ap-southeast-1` | AWS リージョン。`aws_managed_iam` 認証でのみ使用。                                                                                    |
    | `OPENSEARCH_AWS_SERVICE`  | `aoss`           | AWS サービスタイプ：`es`（Managed Cluster）または `aoss`（OpenSearch Serverless）。`aws_managed_iam` 認証でのみ使用。                           |
  </Accordion>

  <Accordion title="Tencent Cloud VectorDB">
    | 変数                                       | デフォルト値             | 説明                                                                                     |
    | ---------------------------------------- | ------------------ | -------------------------------------------------------------------------------------- |
    | `TENCENT_VECTOR_DB_URL`                  | `http://127.0.0.1` | アクセスアドレス。[コンソール](https://console.cloud.tencent.com/vdb)。                               |
    | `TENCENT_VECTOR_DB_API_KEY`              | `dify`             | API キー。[キー管理](https://cloud.tencent.com/document/product/1709/95108)。                  |
    | `TENCENT_VECTOR_DB_TIMEOUT`              | `30`               | リクエストタイムアウト（秒）。                                                                        |
    | `TENCENT_VECTOR_DB_USERNAME`             | `dify`             | アカウント名。[アカウント管理](https://cloud.tencent.com/document/product/1709/115833)。              |
    | `TENCENT_VECTOR_DB_DATABASE`             | `dify`             | データベース名。[データベースの作成](https://cloud.tencent.com/document/product/1709/95822)。            |
    | `TENCENT_VECTOR_DB_SHARD`                | `1`                | シャード数。                                                                                 |
    | `TENCENT_VECTOR_DB_REPLICAS`             | `2`                | レプリカ数。                                                                                 |
    | `TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH` | `false`            | ハイブリッド検索を有効化。[スパースベクトルドキュメント](https://cloud.tencent.com/document/product/1709/110110)。 |
  </Accordion>

  <Accordion title="Elasticsearch">
    | 変数                               | デフォルト値    | 説明                                                                                                                            |
    | -------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------- |
    | `ELASTICSEARCH_HOST`             | `0.0.0.0` | ホスト名。                                                                                                                         |
    | `ELASTICSEARCH_PORT`             | `9200`    | ポート番号。                                                                                                                        |
    | `ELASTICSEARCH_USERNAME`         | `elastic` | ユーザー名。                                                                                                                        |
    | `ELASTICSEARCH_PASSWORD`         | `elastic` | パスワード。                                                                                                                        |
    | `ELASTICSEARCH_USE_CLOUD`        | `false`   | Elastic Cloud モードに切り替え。`true`の場合、host/port/username/password の代わりに `ELASTICSEARCH_CLOUD_URL`と `ELASTICSEARCH_API_KEY` を使用します。 |
    | `ELASTICSEARCH_CLOUD_URL`        | （空）       | Elastic Cloud エンドポイント URL。`ELASTICSEARCH_USE_CLOUD=true` の場合に必要です。                                                            |
    | `ELASTICSEARCH_API_KEY`          | （空）       | Elastic Cloud API キー。`ELASTICSEARCH_USE_CLOUD=true` の場合に必要です。                                                                 |
    | `ELASTICSEARCH_VERIFY_CERTS`     | `false`   | SSL 証明書を検証。                                                                                                                   |
    | `ELASTICSEARCH_CA_CERTS`         | （空）       | CA 証明書のパス。                                                                                                                    |
    | `ELASTICSEARCH_REQUEST_TIMEOUT`  | `100000`  | リクエストタイムアウト（ミリ秒）。                                                                                                             |
    | `ELASTICSEARCH_RETRY_ON_TIMEOUT` | `true`    | タイムアウト時にリトライ。                                                                                                                 |
    | `ELASTICSEARCH_MAX_RETRIES`      | `10`      | 最大リトライ回数。                                                                                                                     |
  </Accordion>

  <Accordion title="Baidu Vector DB">
    | 変数                                                     | デフォルト値                  | 説明                                                                                                                 |
    | ------------------------------------------------------ | ----------------------- | ------------------------------------------------------------------------------------------------------------------ |
    | `BAIDU_VECTOR_DB_ENDPOINT`                             | `http://127.0.0.1:5287` | エンドポイント URL。                                                                                                       |
    | `BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS`                | `30000`                 | 接続タイムアウト（ミリ秒）。                                                                                                     |
    | `BAIDU_VECTOR_DB_ACCOUNT`                              | `root`                  | アカウント名。                                                                                                            |
    | `BAIDU_VECTOR_DB_API_KEY`                              | `dify`                  | API キー。                                                                                                            |
    | `BAIDU_VECTOR_DB_DATABASE`                             | `dify`                  | データベース名。                                                                                                           |
    | `BAIDU_VECTOR_DB_SHARD`                                | `1`                     | シャード数。                                                                                                             |
    | `BAIDU_VECTOR_DB_REPLICAS`                             | `3`                     | レプリカ数。                                                                                                             |
    | `BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER`              | `DEFAULT_ANALYZER`      | 転置インデックスアナライザー。                                                                                                    |
    | `BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE`           | `COARSE_MODE`           | 転置インデックスパーサーモード。                                                                                                   |
    | `BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT`       | `500`                   | Baidu Vector DB 側で自動インデックス再構築をトリガーする絶対行数増分のしきい値。`_RATIO` と併せて機能し、いずれかのしきい値を先に超えた時点で有効になります。                        |
    | `BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT_RATIO` | `0.05`                  | 自動インデックス再構築をトリガーする相対増加率のしきい値（新規行数/既存行数）。上記の絶対しきい値と合わせ、先に達した条件が適用されます。                                              |
    | `BAIDU_VECTOR_DB_REBUILD_INDEX_TIMEOUT_IN_SECONDS`     | `300`                   | インデックス再構築の完了をクライアントが待機する最大時間（秒）。タイムアウト時、クライアント側の呼び出しは失敗しますが、サーバー側の再構築は完了する可能性があります。しばらく経ってから再度クエリを投げれば成功することが多いです。 |
  </Accordion>

  <Accordion title="VikingDB">
    | 変数                            | デフォルト値                        | 説明                                 |
    | ----------------------------- | ----------------------------- | ---------------------------------- |
    | `VIKINGDB_ACCESS_KEY`         | （空）                           | Access key。                        |
    | `VIKINGDB_SECRET_KEY`         | （空）                           | Secret key。                        |
    | `VIKINGDB_REGION`             | `cn-shanghai`                 | リージョン。                             |
    | `VIKINGDB_HOST`               | `api-vikingdb.xxx.volces.com` | API ホスト。リージョン固有のエンドポイントに置き換えてください。 |
    | `VIKINGDB_SCHEME`             | `http`                        | プロトコルスキーム（`http`または `https`）。      |
    | `VIKINGDB_CONNECTION_TIMEOUT` | `30`                          | 接続タイムアウト（秒）。                       |
    | `VIKINGDB_SOCKET_TIMEOUT`     | `30`                          | Socket タイムアウト（秒）。                  |
  </Accordion>

  <Accordion title="Lindorm">
    | 変数                      | デフォルト値                   | 説明                                                               |
    | ----------------------- | ------------------------ | ---------------------------------------------------------------- |
    | `LINDORM_URL`           | `http://localhost:30070` | Lindorm 検索エンジン URL。[コンソール](https://lindorm.console.aliyun.com/)。 |
    | `LINDORM_USERNAME`      | `admin`                  | ユーザー名。                                                           |
    | `LINDORM_PASSWORD`      | `admin`                  | パスワード。                                                           |
    | `LINDORM_USING_UGC`     | `true`                   | UGC モードを使用。                                                      |
    | `LINDORM_QUERY_TIMEOUT` | `1`                      | クエリタイムアウト（秒）。                                                    |
  </Accordion>

  <Accordion title="OpenGauss">
    | 変数                         | デフォルト値      | 説明                |
    | -------------------------- | ----------- | ----------------- |
    | `OPENGAUSS_HOST`           | `opengauss` | ホスト名。             |
    | `OPENGAUSS_PORT`           | `6600`      | ポート番号。            |
    | `OPENGAUSS_USER`           | `postgres`  | ユーザー名。            |
    | `OPENGAUSS_PASSWORD`       | `Dify@123`  | パスワード。            |
    | `OPENGAUSS_DATABASE`       | `dify`      | データベース名。          |
    | `OPENGAUSS_MIN_CONNECTION` | `1`         | 最小プール接続数。         |
    | `OPENGAUSS_MAX_CONNECTION` | `5`         | 最大プール接続数。         |
    | `OPENGAUSS_ENABLE_PQ`      | `false`     | PQ アクセラレーションを有効化。 |
  </Accordion>

  <Accordion title="Huawei Cloud Search">
    | 変数                      | デフォルト値                   | 説明                |
    | ----------------------- | ------------------------ | ----------------- |
    | `HUAWEI_CLOUD_HOSTS`    | `https://127.0.0.1:9200` | クラスターエンドポイント URL。 |
    | `HUAWEI_CLOUD_USER`     | `admin`                  | ユーザー名。            |
    | `HUAWEI_CLOUD_PASSWORD` | `admin`                  | パスワード。            |
  </Accordion>

  <Accordion title="Upstash Vector">
    | 変数                     | デフォルト値 | 説明                          |
    | ---------------------- | ------ | --------------------------- |
    | `UPSTASH_VECTOR_URL`   | （空）    | Upstash Vector エンドポイント URL。 |
    | `UPSTASH_VECTOR_TOKEN` | （空）    | Upstash Vector API トークン。    |
  </Accordion>

  <Accordion title="TableStore">
    | 変数                                         | デフォルト値                                               | 説明                                              |
    | ------------------------------------------ | ---------------------------------------------------- | ----------------------------------------------- |
    | `TABLESTORE_ENDPOINT`                      | `https://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_SCORE` | `false`                                              | 全文 BM25 スコアを正規化。                                |
  </Accordion>

  <Accordion title="ClickZetta">
    | 変数                                    | デフォルト値               | 説明            |
    | ------------------------------------- | -------------------- | ------------- |
    | `CLICKZETTA_USERNAME`                 | （空）                  | ユーザー名。        |
    | `CLICKZETTA_PASSWORD`                 | （空）                  | パスワード。        |
    | `CLICKZETTA_INSTANCE`                 | （空）                  | インスタンス名。      |
    | `CLICKZETTA_SERVICE`                  | `api.clickzetta.com` | サービスエンドポイント。  |
    | `CLICKZETTA_WORKSPACE`                | `quick_start`        | ワークスペース名。     |
    | `CLICKZETTA_VCLUSTER`                 | `default_ap`         | 仮想クラスター。      |
    | `CLICKZETTA_SCHEMA`                   | `dify`               | スキーマ名。        |
    | `CLICKZETTA_BATCH_SIZE`               | `100`                | 操作のバッチサイズ。    |
    | `CLICKZETTA_ENABLE_INVERTED_INDEX`    | `true`               | 転置インデックスを有効化。 |
    | `CLICKZETTA_ANALYZER_TYPE`            | `chinese`            | アナライザータイプ。    |
    | `CLICKZETTA_ANALYZER_MODE`            | `smart`              | アナライザーモード。    |
    | `CLICKZETTA_VECTOR_DISTANCE_FUNCTION` | `cosine_distance`    | 距離関数。         |
  </Accordion>

  <Accordion title="InterSystems IRIS">
    | 変数                         | デフォルト値      | 説明                       |
    | -------------------------- | ----------- | ------------------------ |
    | `IRIS_HOST`                | `iris`      | ホスト名。                    |
    | `IRIS_SUPER_SERVER_PORT`   | `1972`      | スーパーサーバーポート。             |
    | `IRIS_USER`                | `_SYSTEM`   | ユーザー名。                   |
    | `IRIS_PASSWORD`            | `Dify@1234` | パスワード。                   |
    | `IRIS_DATABASE`            | `USER`      | データベース名。                 |
    | `IRIS_SCHEMA`              | `dify`      | スキーマ名。                   |
    | `IRIS_CONNECTION_URL`      | （空）         | 完全な接続 URL（個別設定をオーバーライド）。 |
    | `IRIS_MIN_CONNECTION`      | `1`         | 最小プール接続数。                |
    | `IRIS_MAX_CONNECTION`      | `3`         | 最大プール接続数。                |
    | `IRIS_TEXT_INDEX`          | `true`      | テキストインデックスを有効化。          |
    | `IRIS_TEXT_INDEX_LANGUAGE` | `en`        | テキストインデックスの言語。           |
  </Accordion>
</AccordionGroup>

### ナレッジベース設定

| 変数                                  | デフォルト値 | 説明                                                                                                                                                  |
| ----------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `UPLOAD_FILE_SIZE_LIMIT`            | `15`   | ドキュメントアップロード（PDF、Word ドキュメントなど）の最大ファイルサイズ（MB）。超過するとユーザーに「ファイルが大きすぎます」エラーが表示されます。画像、動画、音声には適用されません。それらには下記の別の制限があります。                                |
| `UPLOAD_FILE_BATCH_LIMIT`           | `5`    | フロントエンドがアップロードバッチごとに許可する最大ファイル数。                                                                                                                    |
| `UPLOAD_FILE_EXTENSION_BLACKLIST`   | （空）    | アップロードできないファイル拡張子のセキュリティブロックリスト。カンマ区切り、小文字、ドットなし。例：`exe,bat,cmd,com,scr,vbs,ps1,msi,dll`。空の場合はすべてのタイプを許可します。                                        |
| `SINGLE_CHUNK_ATTACHMENT_LIMIT`     | `10`   | 単一のナレッジベースセグメント（チャンク）に埋め込める最大画像数。                                                                                                                   |
| `IMAGE_FILE_BATCH_LIMIT`            | `10`   | アップロードバッチごとの最大画像ファイル数。                                                                                                                              |
| `ATTACHMENT_IMAGE_FILE_SIZE_LIMIT`  | `2`    | ナレッジベースインデックス作成時に外部 URL から取得する画像の最大サイズ（MB）。これを超える画像はスキップされます。直接アップロードに適用される `UPLOAD_IMAGE_FILE_SIZE_LIMIT` とは異なります。                                 |
| `ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT` | `60`   | ナレッジベースインデックス作成時に外部 URL から画像をダウンロードする際のタイムアウト（秒）。低速または応答しない画像サーバーはこのタイムアウト後に放棄されます。                                                                 |
| `ETL_TYPE`                          | `dify` | ドキュメント抽出ライブラリ。`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_TYPE`が `Unstructured`の場合に必要です。`.ppt`ファイルのサポートにも必要です。例：`http://unstructured:8000/general/v0/general`。               |
| `UNSTRUCTURED_API_KEY`              | （空）    | Unstructured.io 認証用 API キー。                                                                                                                         |
| `SCARF_NO_ANALYTICS`                | `true` | Unstructured ライブラリのテレメトリ/分析収集を無効化。                                                                                                                  |
| `TOP_K_MAX_VALUE`                   | `10`   | ナレッジベース検索で `top_k` パラメータ（検索ごとの結果返却数）にユーザーが設定できる最大値。                                                                                                 |
| `DATASET_MAX_SEGMENTS_PER_REQUEST`  | `0`    | データセット API リクエストごとの最大セグメント数。`0` は無制限を意味します。                                                                                                         |

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

| 変数                                        | デフォルト値  | 説明                                                            |
| ----------------------------------------- | ------- | ------------------------------------------------------------- |
| `ANNOTATION_IMPORT_FILE_SIZE_LIMIT`       | `2`     | アノテーションインポート用 CSV ファイルの最大サイズ（MB）。超過すると HTTP 413 が返されます。       |
| `ANNOTATION_IMPORT_MAX_RECORDS`           | `10000` | アノテーションインポートごとの最大レコード数。レコードが多いファイルはバッチに分割する必要があります。           |
| `ANNOTATION_IMPORT_MIN_RECORDS`           | `1`     | アノテーションインポートごとに必要な最小有効レコード数。                                  |
| `ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE` | `5`     | ワークスペースごとの 1 分あたりの最大アノテーションインポートリクエスト数。超過すると HTTP 429 が返されます。 |
| `ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR`   | `20`    | ワークスペースごとの 1 時間あたりの最大アノテーションインポートリクエスト数。                      |
| `ANNOTATION_IMPORT_MAX_CONCURRENT`        | `5`     | ワークスペースごとの最大同時アノテーションインポートタスク数。古いタスクは 2 分後に自動クリーンアップされます。     |

### モデル設定

| 変数                                    | デフォルト値  | 説明                                                                             |
| ------------------------------------- | ------- | ------------------------------------------------------------------------------ |
| `PLUGIN_BASED_TOKEN_COUNTING_ENABLED` | `false` | 正確な使用量追跡のためにプラグインベースのトークンカウントを使用。無効の場合、トークンカウントは 0 を返します（高速ですがコスト追跡の精度が低下します）。 |

### マルチモーダル設定

| 変数                             | デフォルト値   | 説明                                                                                                                                                                  |
| ------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MULTIMODAL_SEND_FORMAT`       | `base64` | マルチモーダル LLM にファイルを送信する方法。`base64`はリクエストにファイルデータを埋め込みます（互換性が高く、オフラインで動作、ペイロードが大きい）。`url`は署名付き URL を送信してモデルに取得させます（高速、リクエストが小さいですが、モデルが `FILES_URL` にアクセスできる必要があります）。 |
| `UPLOAD_IMAGE_FILE_SIZE_LIMIT` | `10`     | 直接アップロードの最大画像ファイルサイズ（MB）（jpg、png、webp、gif、svg）。                                                                                                                     |
| `UPLOAD_VIDEO_FILE_SIZE_LIMIT` | `100`    | 直接アップロードの最大動画ファイルサイズ（MB）（mp4、mov、mpeg、webm）。                                                                                                                        |
| `UPLOAD_AUDIO_FILE_SIZE_LIMIT` | `50`     | 直接アップロードの最大音声ファイルサイズ（MB）（mp3、m4a、wav、amr、mpga）。                                                                                                                     |

<Note>
  すべてのアップロードサイズ制限は `NGINX_CLIENT_MAX_BODY_SIZE`（デフォルト `100M`）によっても制限されます。アップロード制限を 100 MB を超えて増加する場合は、`NGINX_CLIENT_MAX_BODY_SIZE` も同様に増加してください。そうしないと、Nginx が 413 エラーでアップロードを拒否します。
</Note>

### Sentry 設定

Sentry はエラー追跡とパフォーマンス監視を提供します。各サービスにはエラーレポートを分離するための独自の DSN があります。

| 変数                                | デフォルト値  | 説明                                                                                     |
| --------------------------------- | ------- | -------------------------------------------------------------------------------------- |
| `SENTRY_DSN`                      | （空）     | サービス間で共有される Sentry DSN。                                                                |
| `API_SENTRY_DSN`                  | （空）     | API サービス用の Sentry DSN。設定されている場合、`SENTRY_DSN` をオーバーライドします。空の場合、バックエンドの Sentry が無効になります。 |
| `API_SENTRY_TRACES_SAMPLE_RATE`   | `1.0`   | パフォーマンストレーシングに含めるリクエストの割合（0.01 = 1%、1.0 = 100%）。トレースはサービス間のリクエストフローを追跡します。             |
| `API_SENTRY_PROFILES_SAMPLE_RATE` | `1.0`   | CPU/メモリプロファイリングに含めるリクエストの割合（0.01 = 1%）。プロファイルはコード内で時間が費やされている箇所を表示します。                 |
| `WEB_SENTRY_DSN`                  | （空）     | Web フロントエンド（Next.js）用の Sentry DSN。フロントエンドのみ。                                           |
| `PLUGIN_SENTRY_ENABLED`           | `false` | プラグインデーモンサービスの Sentry を有効化。                                                            |
| `PLUGIN_SENTRY_DSN`               | （空）     | プラグインデーモン用の Sentry DSN。                                                                |

### Notion 連携設定

ナレッジベースデータソースとして Dify を Notion に接続します。 [https://www.notion.so/my-integrations](https://www.notion.so/my-integrations) で連携資格情報を取得してください。

| 変数                        | デフォルト値   | 説明                                                                                                                                                      |
| ------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `NOTION_INTEGRATION_TYPE` | `public` | `public`は標準 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` の設定が必要です。 [共通変数](#console_web_url) を参照してください。

| 変数                       | デフォルト値   | 説明                                        |
| ------------------------ | -------- | ----------------------------------------- |
| `MAIL_TYPE`              | `resend` | メールプロバイダー：`resend`、`smtp`、または `sendgrid`。 |
| `MAIL_DEFAULT_SEND_FROM` | （空）      | すべての送信メールのデフォルト「From」アドレス。必須です。           |

<AccordionGroup>
  <Accordion title="Resend">
    | 変数               | デフォルト値                   | 説明                                                    |
    | ---------------- | ------------------------ | ----------------------------------------------------- |
    | `RESEND_API_URL` | `https://api.resend.com` | Resend API エンドポイント。セルフホスト Resend またはプロキシ用にオーバーライドします。 |
    | `RESEND_API_KEY` | （空）                      | Resend API キー。`MAIL_TYPE=resend` の場合に必要です。            |
  </Accordion>

  <Accordion title="SMTP">
    3 つの TLS モード：暗黙的 TLS（`SMTP_USE_TLS=true`、`SMTP_OPPORTUNISTIC_TLS=false`、ポート 465）、STARTTLS（`SMTP_USE_TLS=true`、`SMTP_OPPORTUNISTIC_TLS=true`、ポート 587）、またはプレーン（`SMTP_USE_TLS=false`、ポート 25）。

    | 変数                       | デフォルト値  | 説明                                                                                                                                                      |
    | ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | `SMTP_SERVER`            | （空）     | SMTP サーバーアドレス。                                                                                                                                          |
    | `SMTP_PORT`              | `465`   | SMTP サーバーポート。STARTTLS モードの場合は `587` を使用してください。                                                                                                          |
    | `SMTP_USERNAME`          | （空）     | SMTP ユーザー名。IP ホワイトリストされたサーバーでは空にできます。                                                                                                                   |
    | `SMTP_PASSWORD`          | （空）     | SMTP パスワード。IP ホワイトリストされたサーバーでは空にできます。                                                                                                                   |
    | `SMTP_USE_TLS`           | `true`  | TLS を有効化。`true`で `SMTP_OPPORTUNISTIC_TLS=false`の場合、暗黙的 TLS（`SMTP_SSL`）を使用します。                                                                           |
    | `SMTP_OPPORTUNISTIC_TLS` | `false` | 暗黙的 TLS の代わりに STARTTLS（明示的 TLS）を使用。`SMTP_USE_TLS=true` と併用する必要があります。                                                                                    |
    | `SMTP_LOCAL_HOSTNAME`    | （空）     | SMTP HELO/EHLO で送信されるホスト名をオーバーライド。SMTP サーバーがコンテナホスト名を拒否する場合に Docker で必要です（Google Workspace、Microsoft 365 でよく発生）。ドメインに設定してください（例：`mail.yourdomain.com`）。 |
  </Accordion>

  <Accordion title="SendGrid">
    | 変数                 | デフォルト値 | 説明                                             |
    | ------------------ | ------ | ---------------------------------------------- |
    | `SENDGRID_API_KEY` | （空）    | SendGrid API キー。`MAIL_TYPE=sendgrid` の場合に必要です。 |

    詳細については、 [SendGrid ドキュメント](https://www.twilio.com/docs/sendgrid/for-developers/sending-email/api-getting-started) を参照してください。
  </Accordion>
</AccordionGroup>

### その他の設定

#### インデックス作成

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

#### トークンと招待

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

| 変数                                    | デフォルト値 | 説明                         |
| ------------------------------------- | ------ | -------------------------- |
| `INVITE_EXPIRY_HOURS`                 | `72`   | ワークスペース招待リンクの有効期間（時間）。     |
| `RESET_PASSWORD_TOKEN_EXPIRY_MINUTES` | `5`    | パスワードリセットトークンの有効期間（分）。     |
| `EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES` | `5`    | メール登録トークンの有効期間（分）。         |
| `CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES`   | `5`    | メール変更トークンの有効期間（分）。         |
| `OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES` | `5`    | ワークスペースオーナー移譲トークンの有効期間（分）。 |

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

以下の設定は、API と Worker がサンドボックスに接続する方法を指定します。サンドボックスは、コードノード（Python、JavaScript）とテンプレート変換ノード（Jinja2）を分離して実行する独立したサービスです。

| 変数                                              | デフォルト値                | 説明                                                             |
| ----------------------------------------------- | --------------------- | -------------------------------------------------------------- |
| `CODE_EXECUTION_ENDPOINT`                       | `http://sandbox:8194` | サンドボックスサービスエンドポイント。                                            |
| `CODE_EXECUTION_API_KEY`                        | `dify-sandbox`        | サンドボックス認証用 API キー。サンドボックスサービスの `SANDBOX_API_KEY` と一致する必要があります。 |
| `CODE_EXECUTION_SSL_VERIFY`                     | `true`                | サンドボックス接続の SSL を検証。自己署名証明書での開発時は無効化してください。                     |
| `CODE_EXECUTION_CONNECT_TIMEOUT`                | `10`                  | 接続タイムアウト（秒）。                                                   |
| `CODE_EXECUTION_READ_TIMEOUT`                   | `60`                  | 読み取りタイムアウト（秒）。                                                 |
| `CODE_EXECUTION_WRITE_TIMEOUT`                  | `10`                  | 書き込みタイムアウト（秒）。                                                 |
| `CODE_EXECUTION_POOL_MAX_CONNECTIONS`           | `100`                 | サンドボックスサービスへの最大同時 HTTP 接続数。                                    |
| `CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS` | `20`                  | サンドボックスコネクションプールで維持する最大アイドル接続数。                                |
| `CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY`          | `5.0`                 | アイドルなサンドボックス接続が閉じられるまでの秒数。                                     |

#### コードとテンプレートの出力制限

API と Worker は、コードノードとテンプレート変換ノードの出力にこれらの制限を適用します。サンドボックスサービスはこれらの変数を読み取りません。変更を反映するには、サンドボックスではなく API と Worker を再起動してください。

| 変数                              | デフォルト値                 | 説明                                       |
| ------------------------------- | ---------------------- | ---------------------------------------- |
| `CODE_MAX_NUMBER`               | `9223372036854775807`  | コードノード出力で許可される最大数値（最大 64 ビット符号付き整数）。     |
| `CODE_MIN_NUMBER`               | `-9223372036854775808` | コードノード出力で許可される最小数値（最小 64 ビット符号付き整数）。     |
| `CODE_MAX_STRING_LENGTH`        | `400000`               | コードノード出力の最大文字列長。無制限の文字列生成によるメモリ枯渇を防止します。 |
| `CODE_MAX_DEPTH`                | `5`                    | 出力データ構造の最大ネスト深度。                         |
| `CODE_MAX_PRECISION`            | `20`                   | 出力の浮動小数点数の最大小数桁数。                        |
| `CODE_MAX_STRING_ARRAY_LENGTH`  | `30`                   | 文字列配列出力の最大要素数。                           |
| `CODE_MAX_OBJECT_ARRAY_LENGTH`  | `30`                   | オブジェクト配列出力の最大要素数。                        |
| `CODE_MAX_NUMBER_ARRAY_LENGTH`  | `1000`                 | 数値配列出力の最大要素数。                            |
| `TEMPLATE_TRANSFORM_MAX_LENGTH` | `400000`               | テンプレート変換ノード出力の最大文字数。                     |

#### ワークフローランタイム

| 変数                                | デフォルト値   | 説明                                                                                                                      |
| --------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------- |
| `WORKFLOW_MAX_EXECUTION_STEPS`    | `500`    | ワークフロー実行ごとの最大ノード実行回数。超過するとワークフローが終了されます。                                                                                |
| `WORKFLOW_MAX_EXECUTION_TIME`     | `1200`   | ワークフロー実行ごとの最大実行時間（秒）。超過するとワークフローが終了されます。                                                                                |
| `WORKFLOW_CALL_MAX_DEPTH`         | `5`      | ネストされたワークフロー呼び出しの最大深度。無限再帰を防止します。                                                                                       |
| `MAX_VARIABLE_SIZE`               | `204800` | 単一のワークフロー変数の最大サイズ（バイト、200 KB）。                                                                                          |
| `WORKFLOW_FILE_UPLOAD_LIMIT`      | `10`     | 1 つのファイルアップロードフィールド（ユーザー入力ノードのファイル変数など）における最大ファイル数設定の上限です。ノードパネルの最大ファイル数スライダーはこの値で制限されます。フィールドごとの設定をより大きくするには、この値を上げます。 |
| `WORKFLOW_NODE_EXECUTION_STORAGE` | `rdbms`  | ワークフローノード実行レコードの保存先。`rdbms`はすべてをデータベースに保存します。`hybrid` は新しいデータをオブジェクトストレージに保存し、両方から読み取ります。                               |
| `DSL_EXPORT_ENCRYPT_DATASET_ID`   | `true`   | DSL ファイルエクスポート時にデータセット ID を暗号化。クロス環境インポートを容易にするためにプレーン ID をエクスポートする場合は `false` に設定してください。                               |

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

ワークフロー実行データを処理するバックエンド実装を選択します。デフォルトの `SQLAlchemy` リポジトリはすべてをデータベースに保存します。代替実装（例：Celery、Logstore）は異なるストレージ戦略に使用できます。

| 変数                                        | デフォルト値                                                                                                            | 説明                                |
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| `CORE_WORKFLOW_EXECUTION_REPOSITORY`      | `core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository`                | ワークフロー実行レコードのリポジトリ実装。             |
| `CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY` | `core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository`       | ワークフローノード実行レコードのリポジトリ実装。          |
| `API_WORKFLOW_RUN_REPOSITORY`             | `repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository`                      | ワークフロー実行 API 操作のサービスレイヤーリポジトリ。    |
| `API_WORKFLOW_NODE_EXECUTION_REPOSITORY`  | `repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository` | ワークフローノード実行 API 操作のサービスレイヤーリポジトリ。 |
| `LOOP_NODE_MAX_COUNT`                     | `100`                                                                                                             | ループノードの最大反復回数。無限ループを防止します。        |
| `MAX_PARALLEL_LIMIT`                      | `10`                                                                                                              | ワークフロー内の最大並列ブランチ数。                |

#### GraphEngine ワーカープール

| 変数                                  | デフォルト値 | 説明                            |
| ----------------------------------- | ------ | ----------------------------- |
| `GRAPH_ENGINE_MIN_WORKERS`          | `3`    | GraphEngine インスタンスごとの最小ワーカー数。 |
| `GRAPH_ENGINE_MAX_WORKERS`          | `10`   | GraphEngine インスタンスごとの最大ワーカー数。 |
| `GRAPH_ENGINE_SCALE_UP_THRESHOLD`   | `3`    | 追加ワーカーの生成をトリガーするキュー深度。        |
| `GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME` | `5.0`  | 余剰ワーカーが削除されるまでのアイドル時間（秒）。     |

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

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

#### HTTP リクエストノード

ワークフローで外部 API を呼び出すために使用される HTTP リクエストノードの設定です。

| 変数                                  | デフォルト値     | 説明                                                           |
| ----------------------------------- | ---------- | ------------------------------------------------------------ |
| `HTTP_REQUEST_NODE_MAX_TEXT_SIZE`   | `1048576`  | テキストレスポンスの最大サイズ（バイト、1 MB）。これを超えるレスポンスは切り詰められます。              |
| `HTTP_REQUEST_NODE_MAX_BINARY_SIZE` | `10485760` | バイナリレスポンスの最大サイズ（バイト、10 MB）。                                  |
| `HTTP_REQUEST_NODE_SSL_VERIFY`      | `true`     | SSL 証明書を検証。自己署名証明書でのテスト時に無効化します。                             |
| `HTTP_REQUEST_MAX_CONNECT_TIMEOUT`  | `10`       | ワークフローエディターでユーザーが設定できる最大接続タイムアウト（秒）。ノードごとのタイムアウトはこれを超えられません。 |
| `HTTP_REQUEST_MAX_READ_TIMEOUT`     | `600`      | 読み取りタイムアウトの上限（秒）。                                            |
| `HTTP_REQUEST_MAX_WRITE_TIMEOUT`    | `600`      | 書き込みタイムアウトの上限（秒）。                                            |

#### Webhook

| 変数                              | デフォルト値     | 説明                                                          |
| ------------------------------- | ---------- | ----------------------------------------------------------- |
| `WEBHOOK_REQUEST_BODY_MAX_SIZE` | `10485760` | Webhook ペイロードの最大サイズ（バイト、10 MB）。これを超えるペイロードは 413 エラーで拒否されます。 |

#### SSRF 保護

Dify からのすべてのアウトバウンド HTTP リクエスト（HTTP ノード、画像ダウンロードなど）は、プロキシを経由します。このプロキシは内部/プライベート IP 範囲へのリクエストをブロックし、Server-Side Request Forgery（SSRF）攻撃を防止します。

| 変数                                    | デフォルト値                   | 説明                                                                                                        |
| ------------------------------------- | ------------------------ | --------------------------------------------------------------------------------------------------------- |
| `SSRF_PROXY_HTTP_URL`                 | `http://ssrf_proxy:3128` | HTTP リクエスト用 SSRF プロキシ URL。                                                                                |
| `SSRF_PROXY_HTTPS_URL`                | `http://ssrf_proxy:3128` | HTTPS リクエスト用 SSRF プロキシ URL。                                                                               |
| `SSRF_POOL_MAX_CONNECTIONS`           | `100`                    | SSRF HTTP クライアントプール内の最大同時接続数。                                                                             |
| `SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS` | `20`                     | SSRF プールで維持する最大アイドル接続数。                                                                                   |
| `SSRF_POOL_KEEPALIVE_EXPIRY`          | `5.0`                    | アイドルな SSRF 接続が閉じられるまでの秒数。                                                                                 |
| `RESPECT_XFORWARD_HEADERS_ENABLED`    | `false`                  | リバースプロキシからの X-Forwarded-For/Proto/Port ヘッダーを信頼。単一の信頼されたリバースプロキシの背後でのみ有効化してください。それ以外では IP スプーフィングが可能になります。 |

#### エージェント設定

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

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

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

| 変数                           | デフォルト値  | 説明                                                                                                                                                                 |
| ---------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `TEXT_GENERATION_TIMEOUT_MS` | `60000` | ストリーミングテキスト生成 UI のフロントエンドタイムアウト。ストリームがこの時間以上停止した場合、UI はレンダリングを一時停止します。                                                                                             |
| `ALLOW_INLINE_STYLES`        | `false` | ユーザー生成の Markdown コンテンツでインライン `style` 属性と `<style>` ブロックの使用を許可します。セキュリティ上の理由（インラインスタイルはフィッシングに悪用される可能性があります）から、デフォルトでは無効です。信頼できるソースからのリッチなスタイリングが必要な場合にのみ有効化してください。 |
| `ALLOW_UNSAFE_DATA_SCHEME`   | `false` | `data:` スキームの URL レンダリングを許可。セキュリティのためデフォルトでは無効です。                                                                                                                  |
| `MAX_TREE_DEPTH`             | `50`    | 1 つの実行パスの最大ノード数。上限を超えるワークフローは公開できません。変更は新たに公開するワークフローにのみ適用されます。                                                                                                    |

## データベースサービス

Docker Compose でデータベースコンテナを直接設定します。

| 変数                  | デフォルト値                            | 説明                             |
| ------------------- | --------------------------------- | ------------------------------ |
| `PGDATA`            | `/var/lib/postgresql/data/pgdata` | コンテナ内の PostgreSQL データディレクトリ。   |
| `MYSQL_HOST_VOLUME` | `./volumes/mysql/data`            | MySQL データボリュームとしてマウントされるホストパス。 |

## サンドボックスサービス

サンドボックスは、コードノード（Python、JavaScript、Jinja2）を実行するための隔離されたサービスです。セキュリティのためにネットワークアクセスを無効化できます。

| 変数                       | デフォルト値                   | 説明                                                                  |
| ------------------------ | ------------------------ | ------------------------------------------------------------------- |
| `SANDBOX_API_KEY`        | `dify-sandbox`           | サンドボックス認証用 API キー。API サービスの `CODE_EXECUTION_API_KEY` と一致する必要があります。  |
| `SANDBOX_GIN_MODE`       | `release`                | サンドボックスサービスモード：`release`または `debug`。                                |
| `SANDBOX_WORKER_TIMEOUT` | `15`                     | 単一コード実行の最大実行時間（秒）。                                                  |
| `SANDBOX_ENABLE_NETWORK` | `true`                   | コードからのアウトバウンド HTTP リクエストを許可。コードノードが外部サービスにアクセスすることを防止するには無効化してください。 |
| `SANDBOX_HTTP_PROXY`     | `http://ssrf_proxy:3128` | ネットワーク有効時の SSRF 保護用 HTTP プロキシ。                                      |
| `SANDBOX_HTTPS_PROXY`    | `http://ssrf_proxy:3128` | SSRF 保護用 HTTPS プロキシ。                                                |
| `SANDBOX_PORT`           | `8194`                   | サンドボックスサービスのポート。                                                    |

## Nginx リバースプロキシ

| 変数                               | デフォルト値               | 説明                                                                                                                                                                   |
| -------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `NGINX_SERVER_NAME`              | `_`                  | Nginx サーバー名。`_` は任意のホスト名に一致します。                                                                                                                                      |
| `NGINX_HTTPS_ENABLED`            | `false`              | HTTPS を有効化。`true`の場合、SSL 証明書と鍵を `./nginx/ssl/` に配置してください。                                                                                                            |
| `NGINX_PORT`                     | `80`                 | HTTP ポート。                                                                                                                                                            |
| `NGINX_SSL_PORT`                 | `443`                | HTTPS ポート（`NGINX_HTTPS_ENABLED=true` の場合のみ使用）。                                                                                                                       |
| `NGINX_SSL_CERT_FILENAME`        | `dify.crt`           | `./nginx/ssl/` 内の SSL 証明書ファイル名。                                                                                                                                      |
| `NGINX_SSL_CERT_KEY_FILENAME`    | `dify.key`           | `./nginx/ssl/` 内の SSL 秘密鍵ファイル名。                                                                                                                                      |
| `NGINX_SSL_PROTOCOLS`            | `TLSv1.2 TLSv1.3`    | 許可される TLS プロトコルバージョン。                                                                                                                                                |
| `NGINX_WORKER_PROCESSES`         | `auto`               | Nginx ワーカープロセス数。`auto` は CPU コア数に一致します。                                                                                                                              |
| `NGINX_CLIENT_MAX_BODY_SIZE`     | `100M`               | 最大リクエストボディサイズ。プロキシレベルのファイルアップロード制限に影響します。                                                                                                                            |
| `NGINX_KEEPALIVE_TIMEOUT`        | `65`                 | キープアライブタイムアウト（秒）。                                                                                                                                                    |
| `NGINX_PROXY_READ_TIMEOUT`       | `3600s`              | プロキシ読み取りタイムアウト。長時間の SSE ストリームをサポートするため高く設定（1 時間）されています。                                                                                                              |
| `NGINX_PROXY_SEND_TIMEOUT`       | `3600s`              | プロキシ送信タイムアウト。                                                                                                                                                        |
| `NGINX_ENABLE_CERTBOT_CHALLENGE` | `false`              | `/.well-known/acme-challenge/` で Let's Encrypt ACME チャレンジリクエストを受け入れます。自動証明書更新のために有効化してください。                                                                          |
| `NGINX_SOCKET_IO_UPSTREAM`       | `api_websocket:5001` | Nginx が `/socket.io/` トラフィックを転送する上流（upstream）です。デフォルトでは `collaboration` プロファイルで起動する専用の `api_websocket` コンテナを指します。Docker Compose の外で WebSocket サービスを実行する場合のみ変更してください。 |

<Note>
  HTTPS を有効化した後、 [共通変数](#共通変数) の URL 変数（例：`CONSOLE_API_URL`、`CONSOLE_WEB_URL`）も `https://` を使用するように更新してください。
</Note>

### Certbot 設定

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

## SSRF プロキシ

内部/プライベートネットワークへのリクエストをブロックする Squid ベースの SSRF プロキシコンテナの設定です。

| 変数                                 | デフォルト値             | 説明                                                                                                                             |
| ---------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `SSRF_HTTP_PORT`                   | `3128`             | プロキシのリッスンポート。                                                                                                                  |
| `SSRF_COREDUMP_DIR`                | `/var/spool/squid` | コアダンプディレクトリ。                                                                                                                   |
| `SSRF_SANDBOX_PROXY_PORT`          | `8194`             | SSRF プロキシがサンドボックスサービスへの送信トラフィックをリバースプロキシするためにリッスンするポート。                                                                        |
| `SSRF_SANDBOX_PROXY_HOST`          | `sandbox`          | SSRF プロキシの転送先となるサンドボックスサービスのホスト名。                                                                                              |
| `SSRF_PROXY_ALLOW_PRIVATE_IPS`     | （空）                | プロキシ経由を許可する非公開 IP または CIDR 範囲のリスト（カンマまたはスペース区切り）。プライベートネットワークへのデフォルトのブロックを上書きします。HTTP またはツールのリクエストが特定の内部ホストへ到達する必要がある場合に使用します。 |
| `SSRF_PROXY_ALLOW_PRIVATE_DOMAINS` | （空）                | プロキシ経由を許可する内部ドメインのリスト（カンマまたはスペース区切り）。プライベートネットワークへのデフォルトのブロックを上書きします。                                                          |
| `SSRF_DEFAULT_TIME_OUT`            | `5`                | プロキシされたリクエストのデフォルト全体タイムアウト（秒）。                                                                                                 |
| `SSRF_DEFAULT_CONNECT_TIME_OUT`    | `5`                | デフォルト接続タイムアウト（秒）。                                                                                                              |
| `SSRF_DEFAULT_READ_TIME_OUT`       | `5`                | デフォルト読み取りタイムアウト（秒）。                                                                                                            |
| `SSRF_DEFAULT_WRITE_TIME_OUT`      | `5`                | デフォルト書き込みタイムアウト（秒）。                                                                                                            |

## Docker Compose

| 変数                      | デフォルト値                                                           | 説明                                                                                                                                                                                                                |
| ----------------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `COMPOSE_PROFILES`      | `${VECTOR_STORE:-weaviate},${DB_TYPE:-postgresql},collaboration` | 起動するサービスコンテナを選択します。デフォルトでは、対応するベクトルストアとデータベース（`DB_TYPE=mysql` を設定すれば PostgreSQL の代わりに MySQL が起動）、および専用の `api_websocket` コンテナを起動する `collaboration` プロファイルが含まれます。`collaboration` を削除すると、独立した WebSocket サービスを起動しません。 |
| `EXPOSE_NGINX_PORT`     | `80`                                                             | Nginx HTTP にマッピングされるホストポート。                                                                                                                                                                                       |
| `EXPOSE_NGINX_SSL_PORT` | `443`                                                            | Nginx 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_URL`                | `http://plugin_daemon:5002`   | プラグインデーモンサービス URL。                                                                                                      |
| `PLUGIN_DAEMON_KEY`                | （自動生成）                        | プラグインデーモンの認証キー。                                                                                                         |
| `PLUGIN_DAEMON_PORT`               | `5002`                        | プラグインデーモンのリッスンポート。                                                                                                      |
| `PLUGIN_DAEMON_TIMEOUT`            | `600.0`                       | すべてのプラグインデーモンリクエスト（インストール、実行、リスト表示）のタイムアウト（秒）。                                                                          |
| `PLUGIN_MAX_PACKAGE_SIZE`          | `52428800`                    | プラグインパッケージの最大サイズ（バイト、50 MB）。マーケットプレイスダウンロード時に検証されます。                                                                    |
| `PLUGIN_MODEL_SCHEMA_CACHE_TTL`    | `3600`                        | プラグインモデルスキーマのキャッシュ期間（秒）。繰り返しの参照を削減します。                                                                                  |
| `PLUGIN_MODEL_PROVIDERS_CACHE_TTL` | `86400`                       | 各テナントのプラグインモデルプロバイダー一覧を Redis にキャッシュする期間（秒）。デフォルトは 24 時間。テナントがプラグインをインストール、アンインストール、またはアップグレードすると、Dify はこのキャッシュを無効化します。 |
| `PLUGIN_DIFY_INNER_API_KEY`        | （自動生成）                        | プラグインデーモンが Dify API にコールバックする際に使用する API キー。プラグインデーモンサービス設定の `DIFY_INNER_API_KEY` と一致する必要があります。                          |
| `PLUGIN_DIFY_INNER_API_URL`        | `http://api:5001`             | プラグインデーモンがコールバックする内部 API URL。                                                                                           |
| `PLUGIN_DEBUGGING_HOST`            | `0.0.0.0`                     | プラグインリモートデバッグ接続のホスト。                                                                                                    |
| `PLUGIN_DEBUGGING_PORT`            | `5003`                        | プラグインリモートデバッグ接続のポート。                                                                                                    |
| `MARKETPLACE_ENABLED`              | `true`                        | プラグインマーケットプレイスを有効化。無効の場合、ローカルにインストールされたプラグインのみ利用可能で、ブラウジングと自動アップグレードは利用できません。                                           |
| `MARKETPLACE_API_URL`              | `https://marketplace.dify.ai` | プラグインのブラウジング、ダウンロード、アップグレード確認のためのマーケットプレイス API エンドポイント。                                                                 |
| `FORCE_VERIFYING_SIGNATURE`        | `true`                        | プラグインインストール前に有効な署名を要求。改ざんまたは未署名のパッケージのインストールを防止します。                                                                     |
| `PLUGIN_MAX_EXECUTION_TIMEOUT`     | `600`                         | プラグイン実行タイムアウト（秒、プラグインデーモン側）。API 側の `PLUGIN_DAEMON_TIMEOUT` と一致させる必要があります。                                               |
| `PIP_MIRROR_URL`                   | （空）                           | プラグインデーモンがプラグインの依存関係をインストールする際に使用するカスタム PyPI ミラー URL。高速インストールやエアギャップ環境に有用です。                                            |

## Creator Center 設定

Creator Center（`creators.dify.ai`）は、Dify アプリをテンプレートとして提出する窓口です。提出されたテンプレートはレビューを経て Dify マーケットプレイスに掲載されます。コンソールの **マーケットプレイスに公開** アクションは、アプリの DSL をエクスポートして Creator Center にアップロードします。ユーザー向けフローは [アプリをマーケットプレイスに公開](/ja/self-host/use-dify/publish/publish-to-marketplace) を参照してください。

| 変数                                   | デフォルト値                     | 説明                                                                                                                                            |
| ------------------------------------ | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `CREATORS_PLATFORM_FEATURES_ENABLED` | `true`                     | アプリビルダーに **マーケットプレイスに公開** アクションを表示するかどうかを制御します。`false` に設定するとアクションが非表示になり、対応するコンソール API は 403 を返します。テンプレートを外部に提出する一発経路をユーザーに提供したくないデプロイで有用です。 |
| `CREATORS_PLATFORM_API_URL`          | `https://creators.dify.ai` | **マーケットプレイスに公開** アクションが DSL をアップロードする宛先。自前の Creator Center インスタンスを運用する場合のみ変更してください。                                                           |
| `CREATORS_PLATFORM_OAUTH_CLIENT_ID`  | （空）                        | Creator Center から発行される OAuth クライアント ID。設定すると、アップロード後のリダイレクトに OAuth 認可コードが付与され、Creator Center は提出を発行者ユーザーに紐付けられます。空の場合は匿名アップロードです。             |

## OTLP / OpenTelemetry 設定

OpenTelemetry は分散トレーシングとメトリクス収集を提供します。有効時、Dify は Flask を計装し、テレメトリデータを OTLP コレクターにエクスポートします。

| 変数                                 | デフォルト値                  | 説明                                                                       |
| ---------------------------------- | ----------------------- | ------------------------------------------------------------------------ |
| `ENABLE_OTEL`                      | `false`                 | OpenTelemetry 計装のマスタースイッチ。                                               |
| `OTLP_TRACE_ENDPOINT`              | （空）                     | 専用トレースエンドポイント URL。未設定の場合、`{OTLP_BASE_ENDPOINT}/v1/traces` にフォールバックします。   |
| `OTLP_METRIC_ENDPOINT`             | （空）                     | 専用メトリクスエンドポイント URL。未設定の場合、`{OTLP_BASE_ENDPOINT}/v1/metrics` にフォールバックします。 |
| `OTLP_BASE_ENDPOINT`               | `http://localhost:4318` | ベース OTLP コレクター URL。特定のトレース/メトリクスエンドポイントが設定されていない場合のフォールバックとして使用されます。     |
| `OTLP_API_KEY`                     | （空）                     | OTLP 認証用 API キー。`Authorization: Bearer` ヘッダーとして送信されます。                   |
| `OTEL_EXPORTER_TYPE`               | `otlp`                  | エクスポータータイプ。`otlp` はコレクターにエクスポートします。その他の値はコンソールエクスポーター（デバッグ用）を使用します。      |
| `OTEL_EXPORTER_OTLP_PROTOCOL`      | （空）                     | OTLP エクスポートのプロトコル。`grpc` は gRPC エクスポーターを使用します。それ以外は HTTP を使用します。         |
| `OTEL_SAMPLING_RATE`               | `0.1`                   | トレースするリクエストの割合（0.1 = 10%）。高トラフィックの本番環境ではオーバーヘッドを削減するために値を小さくします。         |
| `OTEL_BATCH_EXPORT_SCHEDULE_DELAY` | `5000`                  | バッチエクスポート間の遅延（ミリ秒）。                                                      |
| `OTEL_MAX_QUEUE_SIZE`              | `2048`                  | ドロップ前のキューに入れられる最大スパン数。                                                   |
| `OTEL_MAX_EXPORT_BATCH_SIZE`       | `512`                   | エクスポートバッチごとの最大スパン数。                                                      |
| `OTEL_METRIC_EXPORT_INTERVAL`      | `60000`                 | メトリクスエクスポート間隔（ミリ秒）。                                                      |
| `OTEL_BATCH_EXPORT_TIMEOUT`        | `10000`                 | バッチスパンエクスポートのタイムアウト（ミリ秒）。                                                |
| `OTEL_METRIC_EXPORT_TIMEOUT`       | `30000`                 | メトリクスエクスポートのタイムアウト（ミリ秒）。                                                 |

## その他

| 変数                                 | デフォルト値             | 説明                                                                                         |
| ---------------------------------- | ------------------ | ------------------------------------------------------------------------------------------ |
| `CSP_WHITELIST`                    | （空）                | Content Security Policy ヘッダーで許可する追加ドメイン。                                                   |
| `ALLOW_EMBED`                      | `false`            | Dify ページの iframe 埋め込みを許可。`false`の場合、クリックジャッキングを防止するため `X-Frame-Options: DENY` を設定します。      |
| `SWAGGER_UI_ENABLED`               | `false`            | `SWAGGER_UI_PATH` で Swagger UI を公開し、API ドキュメントをブラウジングできるようにします。Swagger エンドポイントは認証をバイパスします。 |
| `SWAGGER_UI_PATH`                  | `/swagger-ui.html` | Swagger UI の URL パス。                                                                       |
| `MAX_SUBMIT_COUNT`                 | `100`              | 並列ワークフローノード実行に使用されるスレッドプール内の最大同時タスク送信数。                                                    |
| `TENANT_ISOLATED_TASK_CONCURRENCY` | `1`                | テナントごとに同時処理されるドキュメントインデックスまたは RAG パイプラインタスク数。高速なインデックス作成のために増加できますが、データベース負荷が増加します。        |
| `DIFY_ENV_NACOS_REQUEST_TIMEOUT`   | `10.0`             | Nacos 設定サーバーへの HTTP リクエストのタイムアウト（秒）。                                                       |
| `DIFY_ENV_NACOS_CONNECT_TIMEOUT`   | `3.0`              | Nacos 設定サーバーへの接続確立のタイムアウト（秒）。                                                              |

### 定期タスク設定

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

| 変数                                          | デフォルト値  | 説明                                                                                   |
| ------------------------------------------- | ------- | ------------------------------------------------------------------------------------ |
| `ENABLE_CLEAN_EMBEDDING_CACHE_TASK`         | `false` | 毎日午前 2:00 に期限切れのエンベディングキャッシュレコードをデータベースから削除します。データベースサイズを管理します。                      |
| `ENABLE_CLEAN_UNUSED_DATASETS_TASK`         | `false` | 保持期間内にアクティビティがなかったナレッジベースのドキュメントを無効化します。毎日午前 3:00 に実行されます。                           |
| `ENABLE_CLEAN_MESSAGES`                     | `false` | 毎日午前 4:00 に保持期間を超えた会話メッセージを削除します。                                                    |
| `ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK`    | `false` | クリーンアップタスクによりドキュメントが自動無効化されたナレッジベースのリストをワークスペースオーナーにメールで送信します。毎週月曜日午前 10:00 に実行されます。 |
| `ENABLE_DATASETS_QUEUE_MONITOR`             | `false` | Redis 内のデータセット処理キューのバックログを監視します。キューがしきい値を超えるとメールアラートを送信します。                          |
| `QUEUE_MONITOR_INTERVAL`                    | `30`    | キューを確認する頻度（分）。                                                                       |
| `QUEUE_MONITOR_THRESHOLD`                   | `200`   | アラートメールをトリガーするキューサイズ。                                                                |
| `QUEUE_MONITOR_ALERT_EMAILS`                | （空）     | キューアラートを受信するメールアドレス（カンマ区切り）。                                                         |
| `ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK`       | `true`  | 15 分ごとにマーケットプレイスで新しいプラグインバージョンを確認します。各テナントの自動アップグレードスケジュールに基づいてアップグレードタスクをディスパッチします。 |
| `ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK`      | `true`  | スケジュールされたワークフロー実行を確認してトリガーするワークフロースケジュールポーラーを有効化。                                    |
| `WORKFLOW_SCHEDULE_POLLER_INTERVAL`         | `1`     | 期日のスケジュール済みワークフローを確認する頻度（分）。                                                         |
| `WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE`       | `100`   | ポーリングサイクルごとに取得する最大期日スケジュール数。                                                         |
| `WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK`   | `0`     | サーキットブレーカー：ティックごとにディスパッチされる最大スケジュール数。`0` は無制限を意味します。                                 |
| `ENABLE_WORKFLOW_RUN_CLEANUP_TASK`          | `false` | ワークフロー実行レコードの自動クリーンアップを有効化。                                                          |
| `ENABLE_CREATE_TIDB_SERVERLESS_TASK`        | `false` | ベクトルデータベースプーリング用に TiDB Serverless クラスターを事前作成。                                        |
| `ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK` | `false` | TiDB Serverless クラスターのステータスを定期的に更新。                                                  |
| `ENABLE_HUMAN_INPUT_TIMEOUT_TASK`           | `true`  | 期限切れの人間の入力フォームを確認し、タイムアウトしたワークフローを再開または停止します。                                        |
| `HUMAN_INPUT_TIMEOUT_TASK_INTERVAL`         | `1`     | 期限切れの人間の入力フォームを確認する頻度（分）。                                                            |

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

古いレコードのクリーンアップ方法を制御します。`BILLING_ENABLED` がアクティブな場合、クリーンアップは猶予期間付きでサンドボックスティアのテナントを対象とします。課金が無効（セルフホスト）の場合、クリーンアップは保持期間内のすべてのレコードに適用されます。

| 変数                                                 | デフォルト値  | 説明                                            |
| -------------------------------------------------- | ------- | --------------------------------------------- |
| `SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS`           | `30`    | この日数を超えたレコードが削除対象になります。                       |
| `SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD`    | `21`    | サブスクリプション期限切れ後、レコードが削除されるまでの猶予期間（日、課金有効時のみ）。  |
| `SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE`         | `1000`  | クリーンアップバッチごとに処理されるレコード数。                      |
| `SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL` | `200`   | データベース負荷を軽減するためのクリーンアップバッチ間の最大ランダム遅延（ミリ秒）。    |
| `SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL`      | `90000` | 同時クリーンアップタスク実行を防止する 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_TTL`         | `365`   | SLS ログストアのデータ保持期間（日）。永久保存には `3650` を使用してください。                            |
| `LOGSTORE_DUAL_WRITE_ENABLED`     | `false` | ワークフローデータを SLS と PostgreSQL の両方に同時書き込み。SLS への移行時に有用です。                   |
| `LOGSTORE_DUAL_READ_ENABLED`      | `true`  | SLS が結果を返さない場合に PostgreSQL にフォールバック。履歴データがデータベースにのみ存在する移行時に有用です。         |
| `LOGSTORE_ENABLE_PUT_GRAPH_FIELD` | `true`  | SLS ログに完全なワークフローグラフ定義を含めます。大きなグラフデータを省略してストレージを削減するには `false` に設定してください。 |

## イベントバス設定

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

| 変数                             | デフォルト値   | 説明                                                                                                           |
| ------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------ |
| `EVENT_BUS_REDIS_URL`          | （空）      | イベントストリーミング用 Redis 接続 URL。空の場合、メイン Redis 接続設定を使用します。                                                         |
| `EVENT_BUS_REDIS_CHANNEL_TYPE` | `pubsub` | トランスポートタイプ。`pubsub` は at-most-once 配信、`sharded` はシャード Pub/Sub、`streams` は Redis Streams（at-least-once 配信）です。 |
| `EVENT_BUS_REDIS_USE_CLUSTERS` | `false`  | イベントバスの Redis Cluster モードを有効化。大規模デプロイメントに推奨されます。                                                             |

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

ベクトルデータベースコンテナ自体の設定です（Dify クライアント接続ではありません）。選択した `VECTOR_STORE` の変数のみが関連します。

<AccordionGroup>
  <Accordion title="Weaviate サービス">
    | 変数                                                 | デフォルト値              | 説明                                                      |
    | -------------------------------------------------- | ------------------- | ------------------------------------------------------- |
    | `WEAVIATE_PERSISTENCE_DATA_PATH`                   | `/var/lib/weaviate` | コンテナ内のデータ永続化ディレクトリ。                                     |
    | `WEAVIATE_QUERY_DEFAULTS_LIMIT`                    | `25`                | デフォルトのクエリ結果制限。                                          |
    | `WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED` | `true`              | 匿名アクセスを許可。                                              |
    | `WEAVIATE_DEFAULT_VECTORIZER_MODULE`               | `none`              | デフォルトのベクトライザーモジュール。                                     |
    | `WEAVIATE_CLUSTER_HOSTNAME`                        | `node1`             | クラスターノードのホスト名。                                          |
    | `WEAVIATE_AUTHENTICATION_APIKEY_ENABLED`           | `true`              | API キー認証を有効化。                                           |
    | `WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS`      | （自動生成）              | 許可される API キー。クライアント設定の `WEAVIATE_API_KEY` と一致する必要があります。 |
    | `WEAVIATE_AUTHENTICATION_APIKEY_USERS`             | `hello@dify.ai`     | API キーに関連付けられたユーザー。                                     |
    | `WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED`         | `true`              | 管理者リスト認可を有効化。                                           |
    | `WEAVIATE_AUTHORIZATION_ADMINLIST_USERS`           | `hello@dify.ai`     | 管理者ユーザー。                                                |
    | `WEAVIATE_DISABLE_TELEMETRY`                       | `false`             | Weaviate テレメトリを無効化。                                     |
    | `WEAVIATE_ENABLE_TOKENIZER_GSE`                    | `false`             | GSE トークナイザーを有効化（中国語）。                                   |
    | `WEAVIATE_ENABLE_TOKENIZER_KAGOME_JA`              | `false`             | Kagome トークナイザーを有効化（日本語）。                                |
    | `WEAVIATE_ENABLE_TOKENIZER_KAGOME_KR`              | `false`             | Kagome トークナイザーを有効化（韓国語）。                                |
  </Accordion>

  <Accordion title="Milvus サービス（ETCD + MinIO）">
    | 変数                               | デフォルト値       | 説明                    |
    | -------------------------------- | ------------ | --------------------- |
    | `ETCD_AUTO_COMPACTION_MODE`      | `revision`   | ETCD 自動コンパクションモード。    |
    | `ETCD_AUTO_COMPACTION_RETENTION` | `1000`       | リビジョン数での自動コンパクション保持。  |
    | `ETCD_QUOTA_BACKEND_BYTES`       | `4294967296` | バックエンドクォータ（バイト、4 GB）。 |
    | `ETCD_SNAPSHOT_COUNT`            | `50000`      | スナップショットをトリガーする変更数。   |
    | `ETCD_ENDPOINTS`                 | `etcd:2379`  | ETCD サービスエンドポイント。     |
    | `MINIO_ACCESS_KEY`               | `minioadmin` | MinIO access key。     |
    | `MINIO_SECRET_KEY`               | `minioadmin` | MinIO secret key。     |
    | `MINIO_ADDRESS`                  | `minio:9000` | MinIO サービスアドレス。       |
    | `MILVUS_AUTHORIZATION_ENABLED`   | `true`       | Milvus セキュリティ認可を有効化。  |
  </Accordion>

  <Accordion title="OpenSearch サービス">
    | 変数                                  | デフォルト値            | 説明                          |
    | ----------------------------------- | ----------------- | --------------------------- |
    | `OPENSEARCH_DISCOVERY_TYPE`         | `single-node`     | クラスター形成のディスカバリタイプ。          |
    | `OPENSEARCH_BOOTSTRAP_MEMORY_LOCK`  | `true`            | 起動時にメモリをロックしてスワッピングを防止。     |
    | `OPENSEARCH_JAVA_OPTS_MIN`          | `512m`            | 最小 JVM ヒープサイズ。              |
    | `OPENSEARCH_JAVA_OPTS_MAX`          | `1024m`           | 最大 JVM ヒープサイズ。              |
    | `OPENSEARCH_INITIAL_ADMIN_PASSWORD` | `Qazwsxedc!@#123` | OpenSearch サービスの初期管理者パスワード。 |
    | `OPENSEARCH_MEMLOCK_SOFT`           | `-1`              | ソフトメモリロック制限（`-1` は無制限）。     |
    | `OPENSEARCH_MEMLOCK_HARD`           | `-1`              | ハードメモリロック制限（`-1` は無制限）。     |
    | `OPENSEARCH_NOFILE_SOFT`            | `65536`           | ソフトファイルディスクリプタ制限。           |
    | `OPENSEARCH_NOFILE_HARD`            | `65536`           | ハードファイルディスクリプタ制限。           |
  </Accordion>

  <Accordion title="PGVector / PGVecto.RS サービス">
    | 変数                           | デフォルト値                            | 説明                               |
    | ---------------------------- | --------------------------------- | -------------------------------- |
    | `PGVECTOR_PGUSER`            | `postgres`                        | PGVector コンテナの PostgreSQL ユーザー。  |
    | `PGVECTOR_POSTGRES_PASSWORD` | （自動生成）                            | PGVector コンテナの PostgreSQL パスワード。 |
    | `PGVECTOR_POSTGRES_DB`       | `dify`                            | PGVector コンテナ内のデータベース名。          |
    | `PGVECTOR_PGDATA`            | `/var/lib/postgresql/data/pgdata` | コンテナ内のデータディレクトリ。                 |
    | `PGVECTOR_PG_BIGM_VERSION`   | `1.2-20240606`                    | pg\_bigm 拡張のバージョン。               |
  </Accordion>

  <Accordion title="Oracle / Chroma / Elasticsearch サービス">
    | 変数                                | デフォルト値                                                        | 説明                            |
    | --------------------------------- | ------------------------------------------------------------- | ----------------------------- |
    | `ORACLE_PWD`                      | `Dify123456`                                                  | コンテナの Oracle データベースパスワード。     |
    | `ORACLE_CHARACTERSET`             | `AL32UTF8`                                                    | Oracle 文字セット。                 |
    | `CHROMA_SERVER_AUTHN_CREDENTIALS` | （自動生成）                                                        | Chroma サーバーコンテナの認証資格情報。       |
    | `CHROMA_SERVER_AUTHN_PROVIDER`    | `chromadb.auth.token_authn.TokenAuthenticationServerProvider` | Chroma サーバーの認証プロバイダー。         |
    | `CHROMA_IS_PERSISTENT`            | `TRUE`                                                        | Chroma の永続ストレージを有効化。          |
    | `KIBANA_PORT`                     | `5601`                                                        | Kibana ポート（Elasticsearch UI）。 |
  </Accordion>

  <Accordion title="IRIS / その他のサービス">
    | 変数                     | デフォルト値        | 説明                  |
    | ---------------------- | ------------- | ------------------- |
    | `IRIS_WEB_SERVER_PORT` | `52773`       | IRIS Web サーバー管理ポート。 |
    | `IRIS_TIMEZONE`        | `UTC`         | IRIS コンテナのタイムゾーン。   |
    | `DB_PLUGIN_DATABASE`   | `dify_plugin` | プラグインデータ用の別データベース名。 |
  </Accordion>
</AccordionGroup>

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

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

| 変数                               | デフォルト値                         | 説明                                                                                          |
| -------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------- |
| `PLUGIN_STORAGE_TYPE`            | `local`                        | プラグインストレージバックエンド：`local`、`aws_s3`、`tencent_cos`、`azure_blob`、`aliyun_oss`、`volcengine_tos`。 |
| `PLUGIN_STORAGE_LOCAL_ROOT`      | `/app/storage`                 | ローカルプラグインストレージのルートディレクトリ。                                                                   |
| `PLUGIN_WORKING_PATH`            | `/app/storage/cwd`             | プラグイン実行の作業ディレクトリ。                                                                           |
| `PLUGIN_INSTALLED_PATH`          | `plugin`                       | インストール済みプラグインのサブディレクトリ。                                                                     |
| `PLUGIN_PACKAGE_CACHE_PATH`      | `plugin_packages`              | キャッシュされたプラグインパッケージのサブディレクトリ。                                                                |
| `PLUGIN_MEDIA_CACHE_PATH`        | `assets`                       | キャッシュされたメディアアセットのサブディレクトリ。                                                                  |
| `PLUGIN_STORAGE_OSS_BUCKET`      | （空）                            | オブジェクトストレージバケット名（S3/COS/OSS/TOS プロバイダー間で共有）。                                                |
| `PLUGIN_PPROF_ENABLED`           | `false`                        | プラグインデーモンの Go pprof プロファイリングを有効化。                                                           |
| `PLUGIN_PYTHON_ENV_INIT_TIMEOUT` | `120`                          | プラグインの Python 環境初期化のタイムアウト（秒）。                                                              |
| `PLUGIN_STDIO_BUFFER_SIZE`       | `1024`                         | プラグイン stdio 通信のバッファサイズ（バイト）。                                                                |
| `PLUGIN_STDIO_MAX_BUFFER_SIZE`   | `5242880`                      | プラグイン stdio 通信の最大バッファサイズ（バイト、5 MB）。                                                         |
| `ENDPOINT_URL_TEMPLATE`          | `http://localhost/e/{hook_id}` | プラグインエンドポイントの URL テンプレート。`{hook_id}` は実際のフック ID に置き換えられます。                                  |
| `EXPOSE_PLUGIN_DAEMON_PORT`      | `5002`                         | プラグインデーモンにマッピングされるホストポート。                                                                   |
| `EXPOSE_PLUGIN_DEBUGGING_HOST`   | `localhost`                    | プラグインリモートデバッグのホスト。                                                                          |
| `EXPOSE_PLUGIN_DEBUGGING_PORT`   | `5003`                         | プラグインリモートデバッグのホストポート。                                                                       |

<AccordionGroup>
  <Accordion title="プラグイン S3 ストレージ">
    | 変数                              | デフォルト値  | 説明                         |
    | ------------------------------- | ------- | -------------------------- |
    | `PLUGIN_S3_USE_AWS`             | `false` | AWS S3 を使用（S3 互換サービスとの対比）。 |
    | `PLUGIN_S3_USE_AWS_MANAGED_IAM` | `false` | 明示的な資格情報の代わりに IAM ロールを使用。  |
    | `PLUGIN_S3_ENDPOINT`            | （空）     | S3 エンドポイント URL。            |
    | `PLUGIN_S3_USE_PATH_STYLE`      | `false` | 仮想ホスト型の代わりにパス型 URL を使用。    |
    | `PLUGIN_AWS_ACCESS_KEY`         | （空）     | AWS access key。            |
    | `PLUGIN_AWS_SECRET_KEY`         | （空）     | AWS secret key。            |
    | `PLUGIN_AWS_REGION`             | （空）     | AWS リージョン。                 |
  </Accordion>

  <Accordion title="プラグイン Azure Blob ストレージ">
    | 変数                                            | デフォルト値 | 説明                |
    | --------------------------------------------- | ------ | ----------------- |
    | `PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME`    | （空）    | Azure Blob コンテナ名。 |
    | `PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING` | （空）    | Azure Blob 接続文字列。 |
  </Accordion>

  <Accordion title="プラグイン Tencent COS ストレージ">
    | 変数                              | デフォルト値 | 説明                      |
    | ------------------------------- | ------ | ----------------------- |
    | `PLUGIN_TENCENT_COS_SECRET_KEY` | （空）    | Tencent COS secret key。 |
    | `PLUGIN_TENCENT_COS_SECRET_ID`  | （空）    | Tencent COS secret ID。  |
    | `PLUGIN_TENCENT_COS_REGION`     | （空）    | Tencent COS リージョン。      |
  </Accordion>

  <Accordion title="プラグイン Aliyun OSS ストレージ">
    | 変数                                    | デフォルト値 | 説明                            |
    | ------------------------------------- | ------ | ----------------------------- |
    | `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_VERSION`      | `v4`   | Aliyun OSS 認証バージョン。           |
    | `PLUGIN_ALIYUN_OSS_PATH`              | （空）    | Aliyun OSS パスプレフィックス。         |
  </Accordion>

  <Accordion title="プラグイン Volcengine TOS ストレージ">
    | 変数                                 | デフォルト値 | 説明                         |
    | ---------------------------------- | ------ | -------------------------- |
    | `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 リージョン。      |
  </Accordion>
</AccordionGroup>
