# 環境変数説明 ### 公共変数 #### CONSOLE\_API\_URL コンソールAPIのバックエンドのURLです。認証コールバックを組み合わせるために使用され、空の場合は同じドメインになります。例:`https://api.console.dify.ai`。 #### CONSOLE\_WEB\_URL コンソールウェブの**フロントエンド**のURLです。フロントエンドアドレスの一部を組み合わせたり、CORS設定に使用されます。空の場合は同じドメインになります。例:`https://console.dify.ai` #### SERVICE\_API\_URL サービスAPIのURLです。**フロントエンド**にサービスAPIのベースURLを表示するために使用されます。空の場合は同じドメインになります。例:`https://api.dify.ai` #### APP\_API\_URL WebアプリAPIのバックエンドURLです。**フロントエンド**APIのバックエンドアドレスを宣言するために使用されます。空の場合は同じドメインになります。例:`https://app.dify.ai` #### APP\_WEB\_URL WebアプリのURLです。**フロントエンド**にWebアプリAPIのベースURLを表示するために使用されます。空の場合は同じドメインになります。例:`https://api.app.dify.ai` #### FILES\_URL ファイルプレビューまたはダウンロード用のURLプレフィックスです。ファイルプレビューやダウンロードURLをフロントエンドに表示したり、マルチモーダルモデルの入力として使用します。他人による偽造を防ぐため、画像プレビューURLは署名付きで、5分の有効期限があります。 *** ### サーバー側 #### MODE 起動モードです。dockerによる起動時にのみ有効で、ソースコード起動では無効です。 * api APIサーバーを起動します。 * worker 非同期キューのワーカーを起動します。 #### DEBUG デバッグモード。デフォルトはfalse。ローカル開発時にはこの設定をオンにすることをお勧めします。これにより、モンキーパッチによって発生する問題を防ぐことができます。 #### FLASK\_DEBUG Flaskのデバッグモード。オンにすると、インターフェースでトレース情報が出力され、デバッグが容易になります。 #### SECRET\_KEY セッションクッキーを安全に署名し、データベース上の機密情報を暗号化するためのキー。初回起動時にこの変数を設定する必要があります。`openssl rand -base64 42`を使用して強力なキーを生成できます。 #### DEPLOY_ENV デプロイ環境。 * PRODUCTION(デフォルト) プロダクション環境。 * TESTING テスト環境。フロントエンドページにはテスト環境を示す明確な色の識別が表示されます。 #### LOG\_LEVEL ログ出力レベル。デフォルトはINFO。プロダクション環境ではERRORに設定することをお勧めします。 #### MIGRATION\_ENABLED trueに設定した場合、コンテナ起動時に自動的にデータベースのマイグレーションが実行されます。dockerによる起動時にのみ有効で、ソースコード起動では無効です。ソースコード起動の場合、apiディレクトリで手動で`flask db upgrade`を実行する必要があります。 #### CHECK\_UPDATE\_URL バージョンチェックポリシーを有効にするかどうか。falseに設定した場合、`https://updates.dify.ai`を呼び出してバージョンチェックを行いません。現在、国内から直接CloudFlare Workerのバージョンインターフェースにアクセスできないため、この変数を空に設定すると、このインターフェースの呼び出しをブロックできます。 #### コンテナ起動関連設定 dockerイメージまたはdocker-composeによる起動時にのみ有効です。 * DIFY\_BIND\_ADDRESS APIサービスのバインドアドレス。デフォルト:0.0.0.0、すべてのアドレスからアクセス可能にします。 * DIFY\_PORT APIサービスのバインドポート番号。デフォルト5001。 * SERVER\_WORKER\_AMOUNT APIサービスのServer worker数。すなわちgevent workerの数。公式:`CPUのコア数 x 2 + 1`。詳細はこちら:https://docs.gunicorn.org/en/stable/design.html#how-many-workers * SERVER\_WORKER\_CLASS デフォルトはgevent。Windowsの場合、syncまたはsoloに切り替えることができます。 * GUNICORN_TIMEOUT リクエスト処理のタイムアウト時間。デフォルト200。360に設定することをお勧めします。これにより、長時間のSSE接続をサポートできます。 * CELERY\_WORKER\_CLASS `SERVER_WORKER_CLASS`と同様に、デフォルトはgevent。Windowsの場合、syncまたはsoloに切り替えることができます。 * CELERY\_WORKER\_AMOUNT Celery workerの数。デフォルトは1。必要に応じて設定します。 * HTTP\_PROXY HTTPプロキシのアドレス。国内からOpenAIやHuggingFaceにアクセスできない問題を解決するために使用されます。注意:プロキシがホストマシンにデプロイされている場合(例:`http://127.0.0.1:7890`)、このプロキシアドレスはローカルモデルに接続する場合と同様に、dockerコンテナ内のホストマシンアドレスを使用する必要があります(例:`http://192.168.1.100:7890`または`http://172.17.0.1:7890`)。 * HTTPS\_PROXY HTTPSプロキシのアドレス。国内からOpenAIやHuggingFaceにアクセスできない問題を解決するために使用されます。HTTPプロキシと同様に設定します。 #### データベース設定 データベースにはPostgreSQLを使用します。public schemaを使用してください。 * DB\_USERNAME:ユーザー名 * DB\_PASSWORD:パスワード * DB\_HOST:データベースホスト * DB\_PORT:データベースポート番号。デフォルト5432 * DB\_DATABASE:データベース名 * SQLALCHEMY\_POOL\_SIZE:データベース接続プールのサイズ。デフォルトは30接続。必要に応じて増やせます。 * SQLALCHEMY\_POOL\_RECYCLE:データベース接続プールのリサイクル時間。デフォルト3600秒。 * SQLALCHEMY\_ECHO:SQLを出力するかどうか。デフォルトはfalse。 #### Redis 設定 このRedis設定はキャッシュおよび対話時のpub/subに使用されます。 * REDIS\_HOST:Redisホスト * REDIS\_PORT:Redisポート。デフォルト6379 * REDIS\_DB:Redisデータベース。デフォルトは0。セッションRedisおよびCeleryブローカーとは異なるデータベースを使用してください。 * REDIS\_USERNAME:Redisユーザー名。デフォルトは空 * REDIS\_PASSWORD:Redisパスワード。デフォルトは空。パスワードを設定することを強くお勧めします。 * REDIS\_USE\_SSL:SSLプロトコルを使用して接続するかどうか。デフォルトはfalse #### Celery 設定 * CELERY\_BROKER\_URL フォーマットは以下の通りです。
redis://<redis_username>:<redis_password>@<redis_host>:<redis_port>/<redis_database>
例:`redis://:difyai123456@redis:6379/1`
* BROKER\_USE\_SSL
trueに設定した場合、SSLプロトコルを使用して接続します。デフォルトはfalse。
#### CORS 設定
フロントエンドのクロスオリジンアクセスポリシーを設定するために使用します。
* CONSOLE\_CORS\_ALLOW\_ORIGINS
コンソールのCORSクロスオリジンポリシー。デフォルトは`*`、すべてのドメインがアクセス可能です。
* WEB\_API\_CORS\_ALLOW\_ORIGINS
WebアプリのCORSクロスオリジンポリシー。デフォルトは`*`、すべてのドメインがアクセス可能です。
詳細な設定については、次のガイドを参照してください:[クロスオリジン/認証関連ガイド](https://avytux375gg.feishu.cn/wiki/HyX3wdF1YiejX3k3U2CcTcmQnjg)
#### ファイルストレージ設定
データセットのアップロードファイル、チーム/テナントの暗号化キーなどのファイルを保存するために使用します。
* STORAGE\_TYPE
ストレージ施設のタイプ
* local(デフォルト)
ローカルファイルストレージ。この場合、以下の`STORAGE\_LOCAL\_PATH`設定を設定する必要があります。
* s3
S3オブジェクトストレージ。この場合、以下のS3\_プレフィックスの設定を設定する必要があります。
* azure-blob
Azure Blobストレージ。この場合、以下のAZURE\_BLOB\_プレフィックスの設定を設定する必要があります。
* STORAGE\_LOCAL\_PATH
デフォルトはstorage、すなわち現在のディレクトリのstorageディレクトリに保存します。dockerまたはdocker-composeでデプロイする場合、2つのコンテナにある`/app/api/storage`ディレクトリを同じローカルディレクトリにマウントする必要があります。そうしないと、ファイルが見つからないエラーが発生する可能性があります。
* S3\_ENDPOINT:S3エンドポイントアドレス
* S3\_BUCKET\_NAME:S3バケット名
* S3\_ACCESS\_KEY:S3アクセスキー
* S3\_SECRET\_KEY:S3シークレットキー
* S3\_REGION:S3リージョン情報(例:us-east-1)
* AZURE\_BLOB\_ACCOUNT_NAME: アカウント名(例:'difyai')
* AZURE\_BLOB\_ACCOUNT_KEY: アカウントキー(例:'difyai')
* AZURE\_BLOB\_CONTAINER_NAME: コンテナ名(例:'difyai-container')
* AZURE\_BLOB\_ACCOUNT\_URL: 'https://\