ドキュメント/ リファレンス

環境変数

プロセスレベルの設定は .env に記述し、変更後は再起動が必要です。このページは参照用なので、最初から最後まで読む必要はありません。

実行時設定との違い§

GPT-Load には2つの設定セットがあり、混同しやすいです。

タイプ変更場所反映方法
環境変数.envファイル再起動が必要。リッスンアドレス、データベース、キーなどプロセス自体を管理します。
実行時設定管理画面即時に有効。タイムアウト、リトライ、アフィニティなどのスケジューリング動作を管理します。

このページでは前者だけを扱います。スケジューリングのパラメーターは実行時設定を参照してください。

プロセスとネットワーク§

変数デフォルト値説明
HOST127.0.0.1リッスンアドレス。0.0.0.0に変更すると公開状態になるため、先にセキュリティページを確認してください。
PORT3001リッスンポートは1~65,535の範囲内でなければなりません
READ_TIMEOUT60リクエスト読み取りのタイムアウト、単位は秒
IDLE_TIMEOUT120接続のアイドルタイムアウト、単位は秒です。
GRACEFUL_SHUTDOWN_TIMEOUT10グレースフルシャットダウンの待機時間(秒)
すべてのタイムアウト項目の単位は秒

ミリ秒ではありません。設定を間違えやすい項目で、60000と書くと16時間のタイムアウトになります。

データとストレージ§

変数デフォルト値説明
DATA_DIR./dataデータディレクトリで、データベースと2つのキーを保存します
DATABASE_DSN(空欄)空欄なら管理対象のSQLiteを使い、入力すると外部データベースへ接続します
DATABASE_MAX_OPEN_CONNECTIONS10データベースの最大接続数。MySQL と PostgreSQL にのみ適用され、SQLite は常に単一接続です
DATABASE_MAX_IDLE_CONNECTIONS5最大アイドル接続数。前の項目を超えてはいけません。同じく MySQL と PostgreSQL にのみ適用されます

DATABASE_DSNの書き方と3つのドライバーの選択はデータベースとバックアップを参照してください。

キー§

変数デフォルト値説明
AUTH_KEY(自動生成)管理画面のログインキー。空欄にするとDATA_DIR/auth.keyへ生成されます。
ENCRYPTION_KEY(自動生成)チャネル認証情報を暗号化します。空欄にするとDATA_DIR/encryption.keyへ生成されます。ローテーションには対応しておらず、データベースと一緒にバックアップする必要があります。

2つのキーの詳細はセキュリティと本番運用を参照してください。

アウトバウンドプロキシ§

変数デフォルト値説明
HTTP_PROXY(空欄)HTTP アップストリームリクエストの環境プロキシ
HTTPS_PROXY(空欄)HTTPS アップストリームリクエストの環境プロキシ
NO_PROXY(空欄)環境プロキシを経由しないホスト・ドメイン・IP をカンマ区切りで指定します
これらは最後のフォールバック層です

環境プロキシは 認証情報・Group・グローバル設定のいずれもプロキシを指定していない場合にのみ有効です。管理画面でプロキシを設定すると、これらの変数は効かなくなります。優先順位の全体像は 代理とリクエストヘッダー を参照してください。

ログ§

変数デフォルト値説明
LOG_LEVELinfoログレベル
LOG_FORMATtexttextまたはjsonだけを受け付けます。ログシステムには後者を使います。

ここで言うプロセスログ(プログラムの稼働状況)はリクエストログではありません。リクエストログの保持期間は管理画面で設定します。

モデル価格の同期§

変数デフォルト値説明
MODELS_DEV_AUTO_SYNC_ENABLED(未設定)Models.dev からモデル価格を自動同期するかどうか。未設定の場合は管理画面の永続設定に従い、初期値は有効です
設定すると、管理画面の切り替えは読み取り専用になります

この変数を を設定しない 場合、切り替えは管理画面が持ち、いつでも変更できます。.env で明示的に true または false に設定すると強制値となり、管理画面の同名オプションは読み取り専用になります。管理画面で自動同期をオフにできない場合は、まずこの変数を確認してください。価格の取得元は モデル管理 を参照してください。

コンテナ内での上書き§

コンテナ内のこの二項目を変更しても意味がない

Compose デプロイでは、コンテナ内のHOST0.0.0.0DATA_DIR/app/dataに固定されます。.envで変更しても反映されません

外部からのアクセス可否を決めるのはポートの公開設定です。デフォルトではホストの127.0.0.1にだけ公開します:

docker-compose.yml
ports:
  - "$${HOST:-127.0.0.1}:$${PORT:-3001}:$${PORT:-3001}"

つまりコンテナデプロイでは、HOSTがホストへ公開するアドレスを制御するものであり、コンテナ内のリッスンアドレスではありません。外部公開にはリバースプロキシを使います。セキュリティと本番運用を参照してください。

さらに 3 つの変数は Compose デプロイでのみ意味を持ちます。バイナリを直接実行する場合は機能しません:

変数デフォルト値説明
BIND_ADDRESSHOST を継承Compose のみ:メインサービスポートをホストのどのアドレスに公開するかを個別に指定します(コールバックポートには影響しません)
OAUTH_CALLBACK_BIND_ADDRESSHOST を継承Compose のみ:1455・54545・51121 の 3 つのコールバックポートの公開アドレスを個別に指定します
CONTAINER_STOP_GRACE_PERIOD15sCompose のみ:コンテナを強制停止するまでの待機時間。Docker の duration 表記で、GRACEFUL_SHUTDOWN_TIMEOUT より大きくします

OAUTH_CALLBACK_BIND_ADDRESS の使用場面は サブスクリプションアカウント を参照してください。簡単に言えば:認可を通すためだけに 0.0.0.0 に変更しないでください

環境変数 - GPT-Load