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

環境変数設定ガイド

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

ヒント

New API は .env ファイルから環境変数を読み込むことができます。.env.example ファイルを参照し、使用する際は .env にリネームしてください。

基本設定

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

データベース設定

環境変数説明デフォルト値
SQL_DSNデータベース接続文字列SQLite (data/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データベースパス/path/to/sqlite.dbSQLITE_PATH=/var/lib/new-api/new-api.db

キャッシュ設定

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

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

環境変数説明デフォルト値
SESSION_SECRETセッションキー(マルチマシンデプロイに必須)-SESSION_SECRET=random_string
CRYPTO_SECRET暗号化キー(データベースコンテンツの暗号化)-CRYPTO_SECRET=your_crypto_secret
FRONTEND_BASE_URLフロントエンドベースURL-FRONTEND_BASE_URL=https://your-domain.com
SYNC_FREQUENCYキャッシュとデータベースの同期頻度(秒)60SYNC_FREQUENCY=60
NODE_TYPEノードタイプmasterNODE_TYPE=slave

クラスターデプロイ

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

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

環境変数説明デフォルト値
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グローバルAPIレート制限(単一IP3分間)180GLOBAL_API_RATE_LIMIT=100
GLOBAL_WEB_RATE_LIMITグローバルWebレート制限(単一IP3分間)60GLOBAL_WEB_RATE_LIMIT=30
RELAY_TIMEOUTリレーリクエストタイムアウト時間(秒)0RELAY_TIMEOUT=60
STREAMING_TIMEOUTストリーミング1回応答のタイムアウト時間(秒)300STREAMING_TIMEOUT=120
MAX_FILE_DOWNLOAD_MB最大ファイルダウンロードサイズ(MB)20MAX_FILE_DOWNLOAD_MB=50
GLOBAL_API_RATE_LIMIT_ENABLEグローバルAPIレート制限スイッチtrueGLOBAL_API_RATE_LIMIT_ENABLE=false
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_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 設定に関する警告

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

  • アップストリームAPIがリクエストを完了し課金されたにもかかわらず、ローカルでタイムアウトにより課金が完了しない

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

  • 何をしているのか理解している場合を除き、設定しないことをお勧めします

チャネル管理設定

環境変数説明デフォルト値
CHANNEL_UPDATE_FREQUENCYチャネル残高の定期更新(分)-CHANNEL_UPDATE_FREQUENCY=1440
CHANNEL_TEST_FREQUENCYチャネルの定期チェック(分)-CHANNEL_TEST_FREQUENCY=1440
POLLING_INTERVALチャネル一括更新時のリクエスト間隔(秒)0POLLING_INTERVAL=5
ENABLE_METRICリクエスト成功率に基づいてチャネルを無効にするかfalseENABLE_METRIC=true
METRIC_QUEUE_SIZEリクエスト成功率統計キューサイズ10METRIC_QUEUE_SIZE=20
METRIC_SUCCESS_RATE_THRESHOLDリクエスト成功率しきい値0.8METRIC_SUCCESS_RATE_THRESHOLD=0.7
TEST_PROMPTモデルテスト時のユーザープロンプトPrint your model name exactly...TEST_PROMPT=Hello

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

環境変数説明デフォルト値
FORCE_STREAM_OPTIONクライアントのstream_optionsパラメータを上書きtrueFORCE_STREAM_OPTION=false
GET_MEDIA_TOKEN画像トークンをカウントするかtrueGET_MEDIA_TOKEN=false
GET_MEDIA_TOKEN_NOT_STREAM非ストリームモードで画像トークンをカウントするかfalseGET_MEDIA_TOKEN_NOT_STREAM=false
UPDATE_TASK非同期タスク(MJ、Suno)を更新するかtrueUPDATE_TASK=false
CountTokenテキストトークンをカウントするかtrueCountToken=false
TASK_PRICE_PATCHタスク価格パッチ(カンマ区切り)""TASK_PRICE_PATCH=suno=0.8,mj=1.2

特定モデル設定

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

その他の設定

環境変数説明デフォルト値
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サイト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

非推奨の環境変数

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

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

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

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

マスターノード設定

# データベース設定 - リモートデータベースを使用
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-domain.com

# オプション:同期頻度
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設定説明ドキュメントを参照してください。

LinuxDo関連

通常、変更は不要です

環境変数説明デフォルト値
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

デバッグ関連

環境変数説明デフォルト値
ENABLE_PPROFpprofパフォーマンス分析を有効にするfalseENABLE_PPROF=true
DEBUGデバッグモードを有効にするfalseDEBUG=true
GIN_MODEGin実行モード-GIN_MODE=release

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

最終更新