ドキュメントが一新されました!旧ドキュメントは doc.newapi.pro
New APINew API
利用ガイドインストールAPIリファレンスAIアプリケーションSkillsヘルプ&サポートビジネス協力

環境変数設定ガイド

このドキュメントでは、New APIがサポートするすべての環境変数とその設定について説明します。これらの環境変数を設定することで、システムの動作をカスタマイズできます。

ヒント

New API は .env ファイルから環境変数を読み込むことをサポートしています。.env.example ファイルを参照し、使用する際は .env に名前を変更してください。

基本設定

環境変数説明デフォルト値
PORTサービスリスニングポート3000PORT=8080
TZタイムゾーン設定-TZ=America/New_York
VERSION実行バージョン番号を上書き-VERSION=1.2.3

データベース設定

環境変数説明デフォルト値
SQL_DSNデータベース接続文字列SQLite (one-api.db)MySQL: SQL_DSN=root:123456@tcp(localhost:3306)/new-api | PostgreSQL: SQL_DSN=postgresql://root:123456@postgres:5432/new-api
SQL_MAX_IDLE_CONNSアイドル接続プールの最大接続数100SQL_MAX_IDLE_CONNS=50
SQL_MAX_OPEN_CONNS接続プールの最大オープン接続数1000SQL_MAX_OPEN_CONNS=500
SQL_MAX_LIFETIME接続の最大ライフタイム(秒)60SQL_MAX_LIFETIME=120
LOG_SQL_DSNログテーブル独立データベース接続文字列-LOG_SQL_DSN=root:123456@tcp(localhost:3306)/oneapi_logs
SQLITE_PATHSQLiteデータベースパスone-api.dbSQLITE_PATH=/var/lib/new-api/new-api.db

キャッシュ設定

環境変数説明デフォルト値
REDIS_CONN_STRINGRedis接続文字列-REDIS_CONN_STRING=redis://default:redispw@localhost:6379
REDIS_POOL_SIZERedis接続プールサイズ10REDIS_POOL_SIZE=20
MEMORY_CACHE_ENABLEDメモリキャッシュを有効にするか(Redis有効化後に自動有効化)falseMEMORY_CACHE_ENABLED=true
SYNC_FREQUENCYキャッシュとデータベースの同期頻度(秒)60SYNC_FREQUENCY=120
BATCH_UPDATE_ENABLEDデータベースの一括更新集約を有効にするfalseBATCH_UPDATE_ENABLED=true
BATCH_UPDATE_INTERVAL一括更新集約の時間間隔(秒)5BATCH_UPDATE_INTERVAL=10

マルチノードとセキュリティ設定

環境変数説明デフォルト値
SESSION_SECRETセッションキー(マルチマシンデプロイに必須)-SESSION_SECRET=your_session_secret
CRYPTO_SECRET暗号化キー(データベースコンテンツを暗号化、デフォルトはSESSION_SECRETにフォールバック)-CRYPTO_SECRET=your_crypto_secret
FRONTEND_BASE_URLフロントエンドベースURL(スレーブノードで使用、未一致のルーティングをこのアドレスにリダイレクト)-FRONTEND_BASE_URL=https://<your-newapi-domain>
NODE_TYPEノードタイプmasterNODE_TYPE=slave
TLS_INSECURE_SKIP_VERIFYグローバルTLS証明書検証をスキップfalseTLS_INSECURE_SKIP_VERIFY=true
TRUSTED_REDIRECT_DOMAINS信頼されたリダイレクトドメインリスト(カンマ区切り)-TRUSTED_REDIRECT_DOMAINS=example.com,api.example.com

SESSION_SECRET の注意事項

SESSION_SECRETrandom_string に設定することはできません。設定するとプログラムは起動を拒否します。マルチマシンデプロイの場合、すべてのノードで同じキーを使用する必要があります。

クラスターデプロイ

これらの環境変数を使用して完全なクラスターデプロイを構築する方法については、クラスターデプロイガイドを参照してください。

ユーザーおよびトークン設定

環境変数説明デフォルト値
GENERATE_DEFAULT_TOKEN新規登録ユーザーに初期トークンを生成falseGENERATE_DEFAULT_TOKEN=true
NOTIFICATION_LIMIT_DURATION_MINUTE通知制限の持続時間(分)10NOTIFICATION_LIMIT_DURATION_MINUTE=15
NOTIFY_LIMIT_COUNT指定された持続時間内の最大通知数2NOTIFY_LIMIT_COUNT=3

リクエスト制限設定

環境変数説明デフォルト値
GLOBAL_API_RATE_LIMIT_ENABLEグローバルAPIレート制限スイッチtrueGLOBAL_API_RATE_LIMIT_ENABLE=false
GLOBAL_API_RATE_LIMITグローバルAPIレート制限(単一IP)180GLOBAL_API_RATE_LIMIT=100
GLOBAL_API_RATE_LIMIT_DURATIONグローバルAPIレート制限ウィンドウ(秒)180GLOBAL_API_RATE_LIMIT_DURATION=120
GLOBAL_WEB_RATE_LIMIT_ENABLEグローバルWebレート制限スイッチtrueGLOBAL_WEB_RATE_LIMIT_ENABLE=false
GLOBAL_WEB_RATE_LIMITグローバルWebレート制限(単一IP)60GLOBAL_WEB_RATE_LIMIT=30
GLOBAL_WEB_RATE_LIMIT_DURATIONグローバルWebレート制限ウィンドウ(秒)180GLOBAL_WEB_RATE_LIMIT_DURATION=120
CRITICAL_RATE_LIMIT_ENABLEクリティカル操作レート制限スイッチtrueCRITICAL_RATE_LIMIT_ENABLE=false
CRITICAL_RATE_LIMITクリティカル操作レート制限回数20CRITICAL_RATE_LIMIT=10
CRITICAL_RATE_LIMIT_DURATIONクリティカル操作レート制限ウィンドウ(秒)1200CRITICAL_RATE_LIMIT_DURATION=600

リレーとプロキシ設定

環境変数説明デフォルト値
RELAY_TIMEOUTリクエストタイムアウト(秒)、0は無制限0RELAY_TIMEOUT=60
STREAMING_TIMEOUTストリーミングの一回応答のタイムアウト時間(秒)300STREAMING_TIMEOUT=120
RELAY_MAX_IDLE_CONNSリレーHTTPクライアントプールの最大アイドル接続数500RELAY_MAX_IDLE_CONNS=1000
RELAY_MAX_IDLE_CONNS_PER_HOSTリレーHTTPクライアントプールの一ホストあたりの最大アイドル接続数100RELAY_MAX_IDLE_CONNS_PER_HOST=200
MAX_FILE_DOWNLOAD_MB最大ファイルダウンロードサイズ(MB)64MAX_FILE_DOWNLOAD_MB=128
MAX_REQUEST_BODY_MB最大リクエストボディサイズ(MB、解凍後;zip bomb/OOM防止)128MAX_REQUEST_BODY_MB=256
STREAM_SCANNER_MAX_BUFFER_MBSSEストリームスキャンバッファの最大サイズ(MB)64STREAM_SCANNER_MAX_BUFFER_MB=128

RELAY_TIMEOUT 設定の警告

環境変数 RELAY_TIMEOUT を設定する際は注意してください。短すぎると以下の問題が発生する可能性があります:

  • アップストリームAPIはリクエストを完了し課金済みだが、ローカルではタイムアウトにより課金が完了していない

  • 課金の不整合が発生し、システム損失につながる可能性がある

  • ご自身で何をしているか理解している場合を除き、設定しないことを推奨します

チャネル管理設定

環境変数説明デフォルト値
CHANNEL_UPDATE_FREQUENCYチャネル残高を定期的に更新(分)-(設定しない場合は無効)CHANNEL_UPDATE_FREQUENCY=1440
CHANNEL_TEST_FREQUENCYチャネルを定期的にチェック(分)、データベース設定を上書き-(設定しない場合はデータベース設定を使用)CHANNEL_TEST_FREQUENCY=1440
POLLING_INTERVALリクエストポーリング間隔(秒)0POLLING_INTERVAL=5

チャネルアップストリームモデル同期

環境変数説明デフォルト値
CHANNEL_UPSTREAM_MODEL_UPDATE_TASK_ENABLEDアップストリームプロバイダーのモデルリストの定期同期を有効にするtrueCHANNEL_UPSTREAM_MODEL_UPDATE_TASK_ENABLED=false
CHANNEL_UPSTREAM_MODEL_UPDATE_TASK_INTERVAL_MINUTESモデルリスト同期間隔(分)30CHANNEL_UPSTREAM_MODEL_UPDATE_TASK_INTERVAL_MINUTES=60
CHANNEL_UPSTREAM_MODEL_UPDATE_MIN_CHECK_INTERVAL_SECONDS単一チャネルの最小チェック間隔(秒)300CHANNEL_UPSTREAM_MODEL_UPDATE_MIN_CHECK_INTERVAL_SECONDS=600

モデルとリクエスト処理設定

環境変数説明デフォルト値
FORCE_STREAM_OPTIONクライアントのstream_optionsパラメータを上書きし、ストリーミング使用量情報を強制的に取得するtrueFORCE_STREAM_OPTION=false
CountTokenローカルトークンカウントを有効にするかtrueCountToken=false
GET_MEDIA_TOKENストリーミングモードで画像/音声トークンをカウントするかtrueGET_MEDIA_TOKEN=false
GET_MEDIA_TOKEN_NOT_STREAM非ストリーミングモードで画像/音声トークンをカウントするかfalseGET_MEDIA_TOKEN_NOT_STREAM=true

非同期タスク設定

環境変数説明デフォルト値
UPDATE_TASK非同期タスクのポーリング更新(MJ、Sunoなど)を有効にするかtrueUPDATE_TASK=false
TASK_QUERY_LIMIT各ポーリングでクエリする最大タスク数1000TASK_QUERY_LIMIT=500
TASK_TIMEOUT_MINUTES非同期タスクのタイムアウト(分)、タイムアウト後に失敗とマークされ返金、0は無効1440TASK_TIMEOUT_MINUTES=720
TASK_PRICE_PATCHタスク価格パッチ、設定されたモデルは回数制課金のみ、モデル名は英語のカンマで区切る-TASK_PRICE_PATCH=sora-2,sora-2-pro

特定モデル設定

環境変数説明デフォルト値
AZURE_DEFAULT_API_VERSIONAzureチャネルのデフォルトAPIバージョン2025-04-01-previewAZURE_DEFAULT_API_VERSION=2023-05-15
COHERE_SAFETY_SETTINGCohereモデルのセキュリティ設定NONECOHERE_SAFETY_SETTING=CONTEXTUAL
DIFY_DEBUGDifyチャネルのワークフローとノード情報を出力trueDIFY_DEBUG=false

サブスクリプションキャッシュ設定

環境変数説明デフォルト値
SUBSCRIPTION_PLAN_CACHE_TTLサブスクリプションプランキャッシュTTL(秒)300SUBSCRIPTION_PLAN_CACHE_TTL=600
SUBSCRIPTION_PLAN_INFO_CACHE_TTLサブスクリプションプラン詳細キャッシュTTL(秒)120SUBSCRIPTION_PLAN_INFO_CACHE_TTL=300
SUBSCRIPTION_PLAN_CACHE_CAPサブスクリプションプランキャッシュ最大容量5000SUBSCRIPTION_PLAN_CACHE_CAP=10000
SUBSCRIPTION_PLAN_INFO_CACHE_CAPサブスクリプションプラン詳細キャッシュ最大容量10000SUBSCRIPTION_PLAN_INFO_CACHE_CAP=20000

その他の設定

環境変数説明デフォルト値
ERROR_LOG_ENABLEDエラーログを記録し、フロントエンドに表示するかfalseERROR_LOG_ENABLED=true

分析統計

環境変数説明デフォルト値
UMAMI_WEBSITE_IDUmamiサイトID-UMAMI_WEBSITE_ID=xxxx-xxxx
UMAMI_SCRIPT_URLUmamiスクリプトアドレスhttps://analytics.umami.is/script.jsUMAMI_SCRIPT_URL=https://umami.example.com/script.js
GOOGLE_ANALYTICS_IDGoogle Analytics 4サイトID-GOOGLE_ANALYTICS_ID=G-XXXXXXX

メタデータ同期

環境変数説明デフォルト値
SYNC_UPSTREAM_BASEモデル/ベンダーメタデータアップストリームアドレスhttps://basellm.github.io/llm-metadataSYNC_UPSTREAM_BASE=https://mirror.example.com/llm-metadata
SYNC_HTTP_TIMEOUT_SECONDS同期HTTPタイムアウト(秒)10SYNC_HTTP_TIMEOUT_SECONDS=15
SYNC_HTTP_RETRY同期リトライ回数3SYNC_HTTP_RETRY=5
SYNC_HTTP_MAX_MB応答ボディ最大サイズ(MB)10SYNC_HTTP_MAX_MB=20

フロントエンド設定

環境変数説明デフォルト値
VITE_REACT_APP_SERVER_URLフロントエンドがバックエンドにリクエストするベースアドレス(コンパイル時に有効)-VITE_REACT_APP_SERVER_URL=https://api.example.com

コンパイル時変数

VITE_REACT_APP_SERVER_URL は Vite のコンパイル時に注入されるフロントエンド変数であり、フロントエンドのビルド時にのみ有効で、実行時には変更できません。

Pyroscope 継続的パフォーマンス分析

環境変数説明デフォルト値
PYROSCOPE_URLPyroscopeサーバーアドレス、空欄で無効-PYROSCOPE_URL=http://pyroscope:4040
PYROSCOPE_APP_NAMEレポートするアプリケーション名new-apiPYROSCOPE_APP_NAME=my-api
PYROSCOPE_BASIC_AUTH_USERPyroscope Basic Authユーザー名-PYROSCOPE_BASIC_AUTH_USER=admin
PYROSCOPE_BASIC_AUTH_PASSWORDPyroscope Basic Authパスワード-PYROSCOPE_BASIC_AUTH_PASSWORD=secret
HOSTNAMEレポートするホスト名ラベルnew-apiHOSTNAME=node-1
PYROSCOPE_MUTEX_RATEミューテックス分析サンプリングレート5PYROSCOPE_MUTEX_RATE=10
PYROSCOPE_BLOCK_RATEブロッキング分析サンプリングレート5PYROSCOPE_BLOCK_RATE=10

LinuxDo OAuth

通常、変更は不要です。

環境変数説明デフォルト値
LINUX_DO_TOKEN_ENDPOINTLinuxDo トークンエンドポイントhttps://connect.linux.do/oauth2/tokenLINUX_DO_TOKEN_ENDPOINT=https://connect.linux.do/oauth2/token
LINUX_DO_USER_ENDPOINTLinuxDo ユーザーエンドポイントhttps://connect.linux.do/api/userLINUX_DO_USER_ENDPOINT=https://connect.linux.do/api/user

デバッグ関連

環境変数説明デフォルト値
DEBUGデバッグモードを有効にする(GORMデバッグ出力を含む)falseDEBUG=true
GIN_MODEGin実行モードreleaseGIN_MODE=debug
ENABLE_PPROFpprofパフォーマンス分析を有効にする(ポート8005)falseENABLE_PPROF=true

非推奨の環境変数

以下の環境変数は非推奨になりました。システム設定画面の対応するオプションを使用してください:

環境変数代替方法
GEMINI_MODEL_MAPシステム設定 - モデル関連設定で設定してください
GEMINI_SAFETY_SETTINGシステム設定 - モデル関連設定で設定してください
GEMINI_VISION_MAX_IMAGE_NUMシステム設定 - モデル関連設定で設定してください

マルチマシンデプロイの例

マルチマシンデプロイのシナリオでは、以下の環境変数を設定する必要があります:

マスターノード設定

# データベース設定 - リモートデータベースを使用
SQL_DSN=root:password@tcp(db-server:3306)/oneapi

# セキュリティ設定
SESSION_SECRET=your_unique_session_secret
CRYPTO_SECRET=your_unique_crypto_secret

# Redisキャッシュ設定
REDIS_CONN_STRING=redis://default:password@redis-server:6379

スレーブノード設定

# データベース設定 - 同じリモートデータベースを使用
SQL_DSN=root:password@tcp(db-server:3306)/oneapi

# セキュリティ設定 - マスターノードと同じキーを使用
SESSION_SECRET=your_unique_session_secret
CRYPTO_SECRET=your_unique_crypto_secret

# Redisキャッシュ設定 - マスターノードと同じRedisを使用
REDIS_CONN_STRING=redis://default:password@redis-server:6379

# ノードタイプ設定
NODE_TYPE=slave

# オプション:フロントエンドベースURL
# FRONTEND_BASE_URL=https://<your-newapi-domain>

# オプション:同期頻度
SYNC_FREQUENCY=60

完全なクラスター設定

これは基本的なマルチノード設定の例にすぎません。完全なクラスターデプロイ設定、アーキテクチャの説明、およびベストプラクティスについては、クラスターデプロイガイドを参照してください。

Docker Composeにおける環境変数の例

以下は、Docker Compose設定ファイルで環境変数を設定する簡単な例です:

services:
  new-api:
    image: calciumion/new-api:latest
    environment:
      - TZ=Asia/Shanghai
      - SQL_DSN=root:123456@tcp(mysql:3306)/oneapi
      - REDIS_CONN_STRING=redis://default:redispw@redis:6379
      - SESSION_SECRET=your_unique_session_secret
      - CRYPTO_SECRET=your_unique_crypto_secret
      - MEMORY_CACHE_ENABLED=true
      - GENERATE_DEFAULT_TOKEN=true
      - STREAMING_TIMEOUT=120
      - CHANNEL_UPDATE_FREQUENCY=1440

より多くの環境変数設定オプションを含む完全なDocker Compose設定については、Docker Compose設定説明ドキュメントを参照してください。

このガイドはいかがですか?

最終更新