DigitalBase Docs

環境変数 / 設定一覧

DigitalBase の挙動は .env ファイルの環境変数で設定します。多くの項目は管理画面の 環境変数 タブからも編集できます(「本体を再起動」で反映)。管理画面の一覧と本ページの前半にはよく使う項目、後半の「詳細チューニング」には既定のままで問題ない項目を、管理画面と同じカテゴリ順で載せています。

対象:管理者必要権限:サーバ管理権限
注意

[機密] が付いた項目(API キー・パスワード・JWT secret など)は秘匿情報です。リポジトリやログに残さず、本番では既定値を必ず変更してください。

補足

既定値が ""(空文字)の項目は 未設定が既定で、空のままでも動作します。空のときに実際にどう振る舞うか(フォールバック先の既定)は、各行の「説明」内の「= 空なら…」を参照してください。<インストール先> は通常 ~/.local/db(Docker は /app/data)です。

設定項目は全 425 件(よく使う項目 112 / 詳細チューニング 313)。既定値はこのページを生成した版のものです。

システム (データベース)

変数既定値説明
DATABASE_URLpostgresql://digitalbase:digitalbase@localhost:5432/digitalbase[機密] PostgreSQL 接続文字列 (= 通常 install スクリプトが自動設定)
MSSQL_ODBC_DRIVERODBC Driver 18 for SQL ServerSQL Server 接続に使う ODBC ドライバ名。サーバー機に Microsoft ODBC Driver 18 for SQL Server の導入が必要 (Ubuntu: Microsoft の apt リポジトリから msodbcsql18、macOS: brew、Windows: winget)。PostgreSQL / MySQL / MariaDB / Oracle は追加導入不要

システム (サーバー)

変数既定値説明
API_PORT8000この製品 (Web 画面と API) が待ち受けるポート番号。ブラウザからは http://<サーバー名>:<この番号>/ で開く
API_HOST0.0.0.0待ち受けるネットワークアドレス。0.0.0.0 = どのネットワークからも接続可 (通常はこれ) / 127.0.0.1 = このサーバー内からのみ (リバースプロキシ配下向け)
JWT_SECRET""[機密] ログインセッションの署名鍵。空なら .env と同じ場所の .env.jwt_secret に自動生成して保持する。本番は長いランダム文字列を固定で設定

システム (ファイル / 外部ディレクトリ)

変数既定値説明
FILES_DIR<インストール先>/filesuser file 保存先 (= myfile/shared dir 配置 root)
EXTERNAL_DATA_DIRS""外部 dir アクセス許可 ("label=/path,..." 形式、デフォルト read+write)。末尾 ":ro" で読み取り専用 mount。

システム (文書変換)

変数既定値説明
SOFFICE_PATH""soffice 実行ファイルのパス (空=PATH と ~/.local/db/tools から自動検出)

システム (ライセンス)

変数既定値説明
LICENSE_FILE_PATH<インストール先>/license.licライセンスファイル path (= 通常 OS 別に自動検出)

LLM (共通)

変数既定値説明
LLM_BACKENDollamaLLM 推論 backend (= ollama | vllm | sglang | none)
LLM_CONTEXT_LENGTH""LLM context window 上限 (= 両 backend 共通、空ならモデル default)
LLM_CHAT_BASE_URL""OpenAI 互換エンドポイントの chat 接続先 (= 設定すると LLM_BACKEND の振分より優先)
LLM_EMBED_BASE_URL""OpenAI 互換エンドポイントの embedding 接続先 (= 要 LLM_EMBED_MODEL)
LLM_VISION_BASE_URL""OpenAI 互換エンドポイントの vision 接続先 (= 空なら chat 接続先を兼用)
LLM_OPENAI_API_KEY""[機密] 上記 OpenAI 互換エンドポイント共通の API key (= 認証なしなら空)
LLM_EMBED_MODEL""embedding モデル名の上書き (= OpenAI 互換エンドポイント接続時は必須)
DEFAULT_MAX_OUTPUT_TOKENS8192max_tokens 未指定時の出力上限の既定 (local / cloud / UI のモデル設定の初期値まで共通。明示指定はこの値に縛られない。cloud は CLOUD_MAX_TOKENS_CAP で頭打ち)
MAX_OUTPUT_TOKENS65536チャットの出力 max_tokens の上限 (= UI スライダ最大値、両 backend 共通)
LLM_REQUEST_TIMEOUT900AI op の LLM 1リクエストの timeout 秒 (大きめ推奨。ai_agent は長時間動く前提)

LLM (vLLM)

変数既定値説明
VLLM_BASE_URLhttp://localhost:8080vLLM chat server の base URL
VLLM_EMBED_BASE_URLhttp://localhost:8081vLLM embedding server の base URL (= 別 server)
VLLM_VISION_BASE_URL""vLLM vision server URL (= 空なら chat server 兼用)
VLLM_CHAT_MODELQwen/Qwen3-1.7BvLLM chat model 名 (= HuggingFace ID、default は起動確認用の 1.7B / 32K context / ~4GB VRAM)
VLLM_EMBED_MODELintfloat/multilingual-e5-large-instructvLLM RAG 用 embedding model 名
VLLM_VISION_MODEL""vLLM vision model 名 (= 空なら無効)
VLLM_AUTO_STARTfalsetrue で起動時に vLLM server も auto-spawn
VLLM_TENSOR_PARALLEL0vLLM tensor parallel size (= 0 で GPU 数から自動: GPU 数以下の最大 2 の冪、上限 ENGINE_TENSOR_PARALLEL_MAX。明示値が優先)。chat / embed / vision 全サーバ共通で、各サーバは gpu_memory_utilization を全 GPU に均等に取る。役割別に変える時は VLLM_EXTRA_ARGS_* に --tensor-parallel-size
VLLM_GPU_MEMORY_UTILIZATION_CHAT""chat server の GPU memory 利用率 (= 0.0-1.0)
VLLM_GPU_MEMORY_UTILIZATION_EMBED""embed server の GPU memory 利用率 (全 GPU に均等。0.6B 級の embedding は 0.10 前後で足りる)
VLLM_GPU_MEMORY_UTILIZATION_VISION""vision server の GPU memory 利用率
VLLM_REASONING_PARSERqwen3reasoning parser 指定 (= 既定は default model の Qwen3 用。他 model に変える時は要変更、空で注入なし)
VLLM_TOOL_CALL_PARSERhermestool call parser 指定 (= 既定は default model の Qwen3 用。他 model に変える時は要変更 (model card の値を admin の「vLLM設定」から取込むのが確実)、空で注入なし)。--enable-auto-tool-choice と、template 必須 parser (deepseek_v3 等) の同梱 chat template も併せて自動付与
VLLM_QUANTIZATION""chat model の量子化方式 (= --quantization。例: modelopt, awq, fp8。空なら vLLM が checkpoint から自動判別)
VLLM_KV_CACHE_DTYPE""chat server の KV cache 量子化 (= --kv-cache-dtype。例: fp8。空なら model 既定。vision/embed は EXTRA_ARGS で指定)
VLLM_SPECULATIVE_CONFIG""chat server の speculative decoding 設定 (= --speculative-config に渡す JSON をクォート無しでそのまま。例: {"method":"mtp","num_speculative_tokens":3}。空なら無効)
VLLM_EXTRA_ARGS_CHAT""chat server 起動の追加引数 (スペース区切り)。tool calling は VLLM_TOOL_CALL_PARSER で既定注入済 (ここに --tool-call-parser を書けばそちらが優先)
VLLM_PYTHON<インストール先>/venv/bin/pythonvLLM サーバを起動する Python 実行パス (= 既定は venv を自動検出。合わない場合のみ設定)
HF_HUB_OFFLINE""1 で HuggingFace download 禁止 (= air-gapped / オフライン稼働、model 事前 download 必須)
HF_HOME""HuggingFace cache dir 上書き (= 空なら ~/.cache/huggingface)

LLM (SGLang)

変数既定値説明
SGLANG_BASE_URLhttp://localhost:30000SGLang chat server の base URL
SGLANG_EMBED_BASE_URLhttp://localhost:30001SGLang embedding server の base URL (= 別 server)
SGLANG_VISION_BASE_URL""SGLang vision server URL (= 空なら chat server 兼用)
SGLANG_CHAT_MODELQwen/Qwen3-1.7BSGLang chat model 名 (= HuggingFace ID、default は起動確認用の 1.7B / 32K context / ~4GB VRAM)
SGLANG_EMBED_MODELQwen/Qwen3-Embedding-0.6BSGLang RAG 用 embedding model 名 (= --is-embedding で起動。SGLang の embedding 対応 model は vLLM より狭いので非対応 model を指定しないこと。空にすると embed server を起動しない = RAG は LLM_EMBED_BASE_URL で外部に向ける)
SGLANG_VISION_MODEL""SGLang vision model 名 (= 空なら無効)
SGLANG_AUTO_STARTfalsetrue で起動時に SGLang server も auto-spawn
SGLANG_TENSOR_PARALLEL0SGLang tensor parallel size (= --tp-size。0 で GPU 数から自動 (GPU 数以下の最大 2 の冪、上限 ENGINE_TENSOR_PARALLEL_MAX)。chat/vision 用、embed は常に 1 = 同居 GPU で unbalanced 拒否を避ける)
SGLANG_DATA_PARALLEL1SGLang data parallel size (= --dp-size、小型 model を GPU 数だけ複製して同時実行数を稼ぐ。1 で無効)
SGLANG_MEM_FRACTION_CHAT""chat server の GPU memory 利用率 (= --mem-fraction-static、0.0-1.0)
SGLANG_MEM_FRACTION_EMBED""embed server の GPU memory 利用率 (= vLLM と意味論が違い空きメモリ基準。chat 同居時に小さすぎると KV 確保不可で起動失敗、実測では 0.45 以上が必要。例 0.50)
SGLANG_MEM_FRACTION_VISION""vision server の GPU memory 利用率
SGLANG_REASONING_PARSERqwen3reasoning parser 指定 (= 既定は default model の Qwen3 用。他 model に変える時は要変更、空で注入なし)
SGLANG_TOOL_CALL_PARSERqwentool call parser 指定 (= SGLang の parser 名。Qwen 系は qwen (Coder 系のみ qwen3_coder)、他は llama3 / mistral / deepseekv31 / pythonic 等。空で注入なし)
SGLANG_QUANTIZATION""chat model の量子化方式 (= --quantization。例: fp8, awq, modelopt。空なら checkpoint から自動判別)
SGLANG_KV_CACHE_DTYPE""chat server の KV cache 量子化 (= --kv-cache-dtype。例: fp8_e5m2。空なら model 既定)
SGLANG_TORCH_COMPILEfalsetrue で --enable-torch-compile (= 小型 model の decode 速度が伸びる代わりに初回起動が数分伸びる)
SGLANG_EXTRA_ARGS_CHAT""chat server 起動の追加引数 (スペース区切り)。speculative decoding (--speculative-algorithm 等) もここに書く
SGLANG_PYTHON<インストール先>/venv/bin/pythonSGLang サーバを起動する Python 実行パス (= 既定は install dir の共有 venv を自動検出。合わない場合のみ設定)

LLM (Ollama)

変数既定値説明
OLLAMA_BASE_URLhttp://localhost:11434Ollama サーバの base URL
OLLAMA_API_KEY""[機密] proxy 経由認証時のみ設定 (= 通常空)
OLLAMA_EMBED_MODELembeddinggemmaRAG 用 embedding model 名 (= Ollama tag)
OLLAMA_AUTO_STARTfalsetrue で起動時に Ollama daemon を host で auto-spawn (= LLM_BACKEND=ollama 時のみ)

LLM (Cloud)

変数既定値説明
OPENAI_API_KEY""[機密] OpenAI API key (= 設定すると GPT モデルが選択肢に追加)
OPENAI_BASE_URLhttps://api.openai.com/v1OpenAI API base URL (= proxy 経由なら変更)
ANTHROPIC_API_KEY""[機密] Anthropic API key (= Claude モデル有効化)
GEMINI_API_KEY""[機密] Google Gemini API key
XAI_API_KEY""[機密] xAI API key (= Grok モデル有効化)

RAG 設定

変数既定値説明
RERANK_ENABLEDfalseRAG reranker を有効化 (= 要 VLLM_RERANK_BASE_URL)
RERANK_TOP_N30rerank 前に集める候補数 (= 2段検索の1段目)
VLLM_RERANK_BASE_URL""vLLM reranker server の base URL (= 空なら rerank 無効)
VLLM_RERANK_MODELBAAI/bge-reranker-v2-m3reranker モデル (cross-encoder, 多言語)
VLLM_RERANK_API_KEY""[機密] reranker server 用 API key (= 通常空)
RERANK_TIMEOUT30reranker 呼出の timeout 秒

認証 (セッション)

変数既定値説明
AUTH_MODElocalログイン方式: local = この製品のユーザー管理 / ldap = Active Directory・LDAP / oidc = Microsoft Entra ID (SSO)

認証 (LDAP / AD 連携)

変数既定値説明
LDAP_HOST""Active Directory / LDAP サーバーのホスト名または IP
LDAP_PORT389LDAP のポート番号 (通常 389、LDAPS なら 636)
LDAP_USE_SSLfalsetrue で暗号化接続 (LDAPS / StartTLS) を使う
LDAP_BASE_DN""ユーザーを検索する起点 (Base DN、例: DC=company,DC=local)
LDAP_USER_DN_FORMAT{username}@company.localログイン時にユーザーを特定する DN の形式。{username} が入力されたユーザー名に置き換わる (例: cn={username},ou=Users,dc=company,dc=local)
LDAP_BIND_DN""ユーザー検索に使う接続用アカウントの DN (読み取り権限があれば可)
LDAP_BIND_PASSWORD""[機密] 上記の接続用アカウントのパスワード

認証 (OIDC)

変数既定値説明
OIDC_CLIENT_ID""Microsoft Entra ID に登録したアプリのクライアント ID
OIDC_CLIENT_SECRET""[機密] 同アプリのクライアントシークレット
OIDC_TENANT_ID""Microsoft Entra ID のテナント ID
OIDC_ISSUER""ID プロバイダの発行者 URL (空ならテナント ID から自動設定)
OIDC_REDIRECT_URIhttp://localhost:8000/auth/oidc/callbackログイン後に Entra ID から戻ってくる URL。アプリ登録側にも同じ値を登録する (例: https://<サーバー名>/auth/oidc/callback)

Web 検索

変数既定値説明
WEB_SEARCH_ENABLEDfalsetrue で chat の Web 検索 tool 有効化
WEB_SEARCH_ENGINEduckduckgoduckduckgo | searxng
WEB_SEARCH_SEARXNG_URLhttp://localhost:8888SearXNG instance URL (= WEB_SEARCH_ENGINE=searxng 時)
WEB_SEARCH_MAX_RESULTS51 検索あたりの最大結果数

OAuth

変数既定値説明
OAUTH_CALLBACK_BASE_URL""OAuth callback の base URL (= 公開 URL に合わせる、空ならリクエスト URL から導出)
GOOGLE_OAUTH_CLIENT_ID""Google OAuth client ID (= Google Drive 連携用、 Google Cloud Console で発行)
GOOGLE_OAUTH_CLIENT_SECRET""[機密] Google OAuth client secret (= Google Drive 連携用)
MS_OAUTH_CLIENT_ID""Microsoft OAuth client ID (= OneDrive / SharePoint 連携用、 Azure AD で発行)
MS_OAUTH_CLIENT_SECRET""[機密] Microsoft OAuth client secret (= OneDrive / SharePoint 連携用)
DROPBOX_OAUTH_CLIENT_ID""Dropbox OAuth app key (= Dropbox 連携用、 Dropbox App Console で発行)
DROPBOX_OAUTH_CLIENT_SECRET""[機密] Dropbox OAuth app secret (= Dropbox 連携用)
BOX_OAUTH_CLIENT_ID""Box OAuth client ID (= Box 連携用、 Box Developer Console で発行)
BOX_OAUTH_CLIENT_SECRET""[機密] Box OAuth client secret (= Box 連携用)
AZURE_AD_TENANTcommonMicrosoft OAuth (OneDrive / SharePoint) のテナント。common = 個人 + 法人の両方、organizations = 法人のみ、テナント ID / ドメイン = その組織だけ

音声 / Whisper

変数既定値説明
WHISPER_LANGUAGE""文字起こしの既定言語 (ja / en 等の ISO-639-1。空 = 自動判定。短い発話は明示指定が確実)
WHISPER_INITIAL_PROMPT""認識を誘導する語彙・文脈 (例: 前進、後退、停止、右、左)。API 呼び出しの prompt で上書き可

音声 (STT / TTS)

変数既定値説明
STT_ENGINEwhisper文字起こしエンジン: whisper (この環境のローカル whisper) | openai (OpenAI 互換の外部 API。音声がその API に送られる)
STT_OPENAI_BASE_URL""STT_ENGINE=openai の接続先 (/v1 まで。例: https://api.openai.com/v1、社内の speaches / vLLM)
STT_OPENAI_API_KEY""[機密] STT_ENGINE=openai の API キー (不要な接続先は空)
STT_OPENAI_MODELwhisper-1STT_ENGINE=openai で指定するモデル名
TTS_ENGINEbrowser読み上げエンジン: browser (利用者のブラウザ内蔵音声) | openai (OpenAI 互換 /audio/speech。Kokoro 等) | voicevox (VOICEVOX ENGINE)
TTS_BASE_URL""TTS_ENGINE=openai / voicevox の接続先 (openai は /v1 まで。例: http://127.0.0.1:8880/v1、voicevoxhttp://127.0.0.1:50021)
TTS_API_KEY""[機密] TTS_ENGINE=openai の API キー (ローカルの Kokoro 等は空)
TTS_MODEL""TTS_ENGINE=openai で指定するモデル名 (例: tts-1、kokoro)
TTS_VOICE""既定の声 (openai は voice 名、voicevox は style ID)。利用者は設定画面で変更できる

リソース上限

変数既定値説明
EXECUTE_PYTHON_TIMEOUT300チャットの Python 実行ツール 1 回あたりの制限時間 (秒)

詳細チューニング

既定のままで問題ない詳細設定です。管理画面には既定で表示されませんが、必要時に .env に書けば上書きできます。

システム (データベース)

変数既定値説明
SQL_DATALAKE_URLpostgresql://lmlight:lmlight@localhost:5432/lmlight[機密] 内蔵 Data Lake 接続用の DB URL (= 既定は DATABASE_URL、最小権限ロール推奨)

システム (サーバー)

変数既定値説明
MAX_TOOL_ROUNDS30Tool calling の最大 round 数 (= chat/streams.py、LLM 再帰呼出の上限)
DB_POOL_SIZE10メイン DB engine の connection pool サイズ
DB_POOL_MAX_OVERFLOW20メイン DB engine の pool 超過許容数
DB_POOL_RECYCLE1800メイン DB engine の connection 再生成間隔秒 (= stale 接続対策)
CONV_MEMORY_MAX_SESSIONS500in-memory 会話キャッシュの最大セッション数 (= 超過時は古い順に破棄)
SQL_ENGINE_CACHE_MAX20外部 SQL 接続 engine キャッシュの上限数 (= 超過時は古い engine を dispose)
UPDATE_CHECK_TIMEOUT10アップデート確認 (R2 latest.json 取得) の HTTP timeout 秒
MCP_DISCOVERY_TIMEOUT10MCP server の tool 一覧取得 timeout 秒
MCP_TOOL_TIMEOUT30MCP tool 実行の timeout 秒
GATEWAY_IMAGE_FETCH_TIMEOUT10gateway chat の外部画像 URL 取得 timeout 秒
GATEWAY_IMAGE_MAX_MB20gateway chat の外部画像 URL 取得の最大サイズ (MB)。超過は画像を捨てて続行
INTERNAL_API_BASE""本体が自分自身の API を呼ぶ時の接続先 (空 = http://localhost:API_PORT)。リバースプロキシ / コンテナで localhost が本体を指さない時だけ設定
OUTBOUND_ALLOW_LOOPBACKtrueserver が取りに行くユーザ指定 URL (通知 webhook / 画像 URL) に loopback 宛を許すか (既定 true = 同一ホストの受け側を許す。link-local は常に拒否)
SQL_SQLITE_DIR""SQL 接続で SQLite ファイルを開ける親ディレクトリ (空 = SQLite 接続を無効化)
TOOL_APPROVAL_WAIT_SEC600tool 実行承認の最大待ち秒 (= 超過は deny 扱い)
TOOL_KEEPALIVE_INTERVAL10chat stream の keepalive 間隔秒 (= 承認待ち/LLM 無音/tool 実行中の heartbeat)
TOOL_LOOP_GUARD_MAX_REPEATS4同一 tool call の反復をこの回数で打ち切る loop guard
TOOL_RETRY_ATTEMPTS3call_api_operator の rate-limit retry 回数 (指数バックオフ)
CLOUD_OP_MAX_ATTEMPTS3cloud 系 pipeline operator の HTTP retry 回数
UPLOAD_PROGRESS_TTL_SEC3600RAG 取込進捗エントリの保持秒数 (= ポーリング用 in-memory レジストリの TTL)
TOOL_PIPELINE_RUN_WAIT30run_pipeline tool が完了を待つ最大秒数 (= 超えたら runId を返して get_pipeline_run でポーリング)
GATEWAY_REQUEST_TIMEOUT""gateway (OpenAI 互換 API) 1 リクエストの timeout 秒。空 (既定) = LLM_REQUEST_TIMEOUT と同じ (= API 経由だけ先に切れない)
GATEWAY_HISTORY_LIMIT10gateway chat の会話履歴保持ターン数
GATEWAY_IMAGE_FETCH_ALLOW_PRIVATE1gateway chat の外部画像 URL 取得で private (社内) アドレスを許可する。1=許可 (既定、社内 API 基盤なので) / 0=グローバルのみ。link-local (cloud metadata) は常に拒否、loopback は OUTBOUND_ALLOW_LOOPBACK に従う
GATEWAY_MODEL_LIST_TTL_SEC30gateway が model 名の実在確認に使う served model 一覧のキャッシュ秒数 (= 毎リクエストの discovery を避ける)
FORWARDED_ALLOW_IPS127.0.0.1X-Forwarded-* ヘッダを信頼するプロキシの IP (',' 区切り、'*' で全て)。リバースプロキシ配下ではそのプロキシの IP を指定する
GATEWAY_DOCS_ENABLEDtruegateway の API リファレンス (/v1/docs, /v1/openapi.json) を公開するか (= 認証不要。仕様を外に見せたくない場合 false)
MODEL_PRICES""モデル別単価 (1K トークンあたり)。'モデル名:入力単価:出力単価' を ',' 区切り。'default:x:y' は未定義モデルの既定。空 = 金額表示なし
CURRENCY_SYMBOL¥金額表示に使う通貨記号
ALERT_WEBHOOK_URL""運用アラート送信先 webhook URL ({text, type, details} JSON を POST。空 = 無効。変更は再起動で反映)
ALERT_CHECK_INTERVAL_SEC900アラート条件の評価間隔 (秒)
ALERT_PIPELINE_CONSECUTIVE_FAILURES3同一 pipeline の連続失敗がこの回数に達したらアラート (連続失敗 1 回につき 1 通、成功でリセット)
ALERT_PIPELINE_QUEUE_AGE_SEC900queued のまま待つ pipeline run がこの秒数を超えたらアラート (= worker 停止/詰まりの検知)
ALERT_EVENT_OUTBOX_AGE_SEC600未配送の EventOutbox 行がこの秒数を超えて残ったらアラート (= consumer 停止の検知)
METRICS_ENABLED0Prometheus 形式の /metrics endpoint を公開する。1=有効 / 0=無効
METRICS_TOKEN""/metrics の Bearer token (空 = 認証なし。scrape 側の Authorization ヘッダと一致必須)
BIKEY_PG_PROXY_ENABLED0BI tool 直結用 PostgreSQL wire proxy を起動する (bk- で認証)。1=有効 / 0=無効
BIKEY_PG_PROXY_PORT5434BiKey PG proxy の待受ポート
BIKEY_PG_PROXY_HOST0.0.0.0BiKey PG proxy の待受アドレス (',' 区切りで複数可)
CORS_ALLOW_ORIGINS*CORS で許可する origin (',' 区切り)。既定 * = 全許可 (互換)。公開 URL が決まっていれば https://<サーバー名> に絞る
SECURITY_HSTS0Strict-Transport-Security ヘッダを常に付ける (https 直受けの場合は自動、リバースプロキシで TLS 終端するなら 1)
ADMIN_ENV_MASK_SECRETS0管理画面の環境変数エディタで機微な値 (パスワード / キー) を *** で伏せる。0=そのまま表示 (既定。編集する本人が見る画面のため) / 1=伏せる (*** のまま保存しても値は保持される)
SECURITY_FRAME_OPTIONS""X-Frame-Options ヘッダの値 (DENY / SAMEORIGIN)。既定は空 = 付けない (= 社内ポータル等の iframe 埋め込みを壊さない)
REQUEST_MAX_BODY_MB64通常 API のリクエスト body 上限 (MB)。超過は 413。ファイルアップロード系 path は対象外
REQUEST_BODY_LIMIT_EXEMPT_PREFIXES/api/files,/api/rag,/api/upload,/api/chat,/api/transcribe,/api/admin/restore,/api/admin/license,/v1/filesbody 上限を適用しない path prefix (',' 区切り、= アップロードや添付を運ぶ経路)
ADMIN_BACKUP_TIMEOUT1800DB backup (pg_dump) の timeout 秒 (= 大規模 DB は引き上げ)
ADMIN_RESTORE_TIMEOUT900DB restore (pg_restore) の timeout 秒
TRANSCRIBE_FFMPEG_TIMEOUT600音声変換 (ffmpeg) の timeout 秒 (= 長時間録音は引き上げ)
UPDATE_LOG_TAIL_LINES80update/status が返す update.log 末尾の行数
UPDATE_STATUS_PROBE_TIMEOUT5update/status が自分の /api/ready (無ければ /api/health) を叩いて migration 失敗を拾う timeout 秒
DB_CONNECT_RETRIES30起動時に DB 接続を試す回数 (= 間隔は DB_CONNECT_RETRY_DELAY_SEC。全部失敗したら process を終了する)
DB_CONNECT_RETRY_DELAY_SEC2起動時 DB 接続 retry の間隔秒
FRAME_ANCESTORS'self' https://teams.microsoft.com https://*.teams.microsoft.com https://*.cloud.microsoft https://*.office.com https://*.microsoft365.com画面の iframe 埋め込みを許す親 origin (CSP frame-ancestors、空白区切り)。既定は同一 origin + Microsoft Teams。空 = 制限しない、'none' = 埋め込み禁止
MCP_MANAGED_DIR<インストール先>/mcpカスタム MCP server の配置先 (server ごとに venv / main.py / logs を持つ)
MCP_PYTHON_VERSION3.13カスタム MCP server の venv に使う Python (uv が取得。本体・推論 venv と同じ 3.13 に揃える = GPU 機では追加ダウンロードなし。依存パッケージに 3.13 の wheel が無い時だけ 3.12 等に下げる)
MCP_INSTALL_TIMEOUT600カスタム MCP server の venv 構築 (uv pip install) の timeout 秒
MCP_STARTUP_TIMEOUT60カスタム MCP server の起動 (tools/list 応答) 待ち timeout 秒
MCP_HEALTH_TIMEOUT3カスタム MCP server の health (tools/list) 応答待ち秒
MCP_STOP_GRACE5カスタム MCP server 停止時に SIGTERM 後 SIGKILL するまでの猶予秒
MCP_MONITOR_INTERVAL5カスタム MCP server のプロセス監視 (異常終了検知・再起動) の間隔秒
MCP_RESTART_LIMIT3カスタム MCP server が異常終了した時の自動再起動の上限回数 (10 分あたり、超えるとエラー状態で停止)
MCP_MEMORY_LIMIT_MB0カスタム MCP server 1 プロセスの仮想メモリ上限 MB (0 = 無制限。Linux / macOS のみ。torch 等の大きな依存は仮想空間を多く取るので余裕を持たせる)
MCP_LOG_MAX_BYTES5242880カスタム MCP server の server.log の上限バイト (起動時に末尾だけ残して切り詰める。0 = 無制限)
MCP_PORT_BASE8800カスタム MCP server に自動採番する localhost port の開始値

システム (ファイル / 外部ディレクトリ)

変数既定値説明
FS_WATCH_ENABLED1外部 dir (EXTERNAL_DATA_DIRS) の変更を監視し file.uploaded/file.deleted を発火する。1=有効 / 0=無効
FS_WATCH_SETTLE_SECONDS2外部 dir 監視: size/mtime がこの秒数変化しなければ書込完了とみなす
FS_WATCH_POLLING0外部 dir 監視を polling 方式にする (NFS/SMB mount など OS 通知が届かない場所向け)。1=polling / 0=OS 通知
FS_WATCH_CATCHUP1外部 dir 監視: 起動時に停止中に置かれた/更新されたファイルを走査して file.uploaded を発火する。1=有効 / 0=無効
FS_WATCH_CATCHUP_MAX_FILES20000外部 dir 監視: 起動時の追いつき走査で発火する件数の上限 (超過分は warning のみ)
FS_WATCH_POLL_INTERVAL5外部 dir 監視 (polling 方式) の走査間隔 (秒)
FILE_STREAM_CHUNK_BYTES65536file connector streaming 読込の chunk バイト数
CONNECTOR_PAGE_SIZE_GDRIVE1000Google Drive 一覧取得の page size
CONNECTOR_PAGE_SIZE_ONEDRIVE200OneDrive 一覧取得の page size
CONNECTOR_PAGE_SIZE_SHAREPOINT200SharePoint 一覧取得の page size
CONNECTOR_PAGE_SIZE_BOX1000Box 一覧取得の page size
CONNECTOR_LIST_MAX_ITEMS0OAuth 接続 (Drive/OneDrive/SharePoint/Box/Dropbox) の 1 フォルダ取得件数上限。0 で無制限 (= 継続ページを全て取得)
CONNECTOR_NET_TIMEOUT10接続フォルダ (SFTP/FTP/SMB/WebDAV) の接続・操作 timeout 秒 (= 到達不能ホストでの画面待ち時間。5〜60 に丸められます)

システム (文書変換)

変数既定値説明
SOFFICE_TIMEOUT180Office文書→PDF 変換1回のタイムアウト秒

システム (ライセンス)

変数既定値説明
PUBLIC_KEY_PATH""ライセンス署名検証用 RSA 公開鍵 path。空 = 製品に埋め込まれた鍵を使う (通常設定不要)
LICENSE_RECHECK_INTERVAL_SEC3600ライセンスの再評価間隔 (秒)。使われた時に前回の評価からこの秒数が過ぎていれば裏で再評価する (= 期限切れ・差し替えを再起動なしに反映。使われていない間は評価しない)
LICENSE_WARN_DAYS0ライセンス期限のこの日数前から管理画面 / health に警告を出す (0=期限前の警告を出さない。猶予期間中の警告は別)
LICENSE_GRACE_DAYS14ライセンス期限切れ後もリクエストを受け付ける猶予日数 (応答に X-DigitalBase-License-Warning ヘッダが付く)。超過で 403

LLM (共通)

変数既定値説明
LLM_EMBED_API_KEY""[機密] embedding エンドポイントだけ別 key の場合に設定
LLM_CHARS_PER_TOKEN1.2文脈予算 (添付/RAG/web をどこまで prompt に入れるか) の文字→token 換算係数。日本語主体 1.2 (既定) / 英語主体 3.0 程度。小さいほど安全側
CHAT_HISTORY_LIMIT10chat で LLM に渡す直近履歴 (メッセージ数) の既定 (= ユーザー設定の初期値。request / 設定で上書き可)
CLOUD_MAX_TOKENS_CAP64000Anthropic 呼出の max_tokens 上限 (= 現行 Claude の最大 64K)
LLM_MIN_OUTPUT_TOKENS256context 超過エラー判定前に確保する最小出力 token 数
LLM_CONTEXT_MARGIN_TOKENS64max_tokens を context に収める際の安全 margin token 数
CLOUD_LLM_TIMEOUT300Cloud LLM (OpenAI/Anthropic/Gemini) の HTTP timeout 秒 (chat/tool 呼出共通)
CLOUD_EMBED_TIMEOUT60Cloud embedding の HTTP timeout 秒
SQL_LLM_TIMEOUT600AI SQL 生成の LLM timeout 秒 (= EOS が出ずハングした時の cap)
SQL_AI_SAMPLE_CELL_MAX_CHARS200AI SQL 生成 prompt のサンプル行セル1個の上限文字数 (= embedding 等の巨大セルで context 超過を防ぐ)
CHAT_ATTACH_INJECT_MAX_CHARS0chat 添付テキストを全文 prompt 注入する上限文字数。0 (既定) = model の文脈予算 (LLM_CONTEXT_LENGTH または RAG_CONTEXT_BUDGET_CHARS) から自動。超過時は session RAG 検索参照に自動切替 (先頭は予算の半分まで注入)
CHAT_CONNECT_TIMEOUT_SEC10chat → local LLM backend の TCP 接続 timeout 秒 (= tools 有無どちらの経路も同じ。read は無制限のまま。接続不能を即 error にする)
CHAT_PROMPT_MAX_CHARS200000chat 1 リクエストの prompt 文字数上限 (= 超過は 413)
CHAT_MAX_IMAGES16chat 1 リクエストの画像枚数上限 (= 直接添付の images が超過なら 413。PDF ページ画像は残り枠に切り詰めて warning)
CHAT_ATTACHMENTS_MAX_MB50chat 1 リクエストの添付 (attachments + images) 合計 MB 上限 (= 超過は 413)
TABLE_AI_PYTHON_TIMEOUT60テーブルAI編集の python 変換 (sandbox) の実行 timeout 秒
TABLE_AI_MAX_CELLS20000テーブルAI編集で全行を prompt に載せる上限セル数 (行×列)。超過時は schema+サンプルのみ
TABLE_AI_SAMPLE_ROWS20テーブルAI編集で全行を載せない時のサンプル行数
TABLE_AI_MAX_CHARS0table / 文書の AI 編集で 1 回の prompt に入れる本文文字数の上限。0 (既定) = model の文脈予算から自動 (超過分は切詰め)
ENGINE_LOG_DIR<インストール先>/logslocal engine (vLLM/SGLang/Ollama) の起動 log 置場 (= 既定は install dir 配下 logs/。size rotation で .1〜.3 を保持)
ENGINE_LOG_MAX_MB50engine log 1 file の上限 MB (= 超えたら copy+truncate で .1 へ回す、直近 3 世代保持)
ENGINE_WATCHDOG_INTERVAL_SEC30engine 監督 (死活確認と自動再起動) の間隔秒
ENGINE_HEALTH_FAIL_THRESHOLD3連続で health check に失敗したら engine を再起動する回数 (= process が生きていても応答しない hang 対策)
ENGINE_RESTART_BACKOFF_MAX_SEC600自動再起動の指数 backoff 上限秒 (= この秒数だけ健全に動けば backoff を初期値へ戻す)
ENGINE_MIN_FREE_GB20HF cache volume の空き容量がこの GB を下回ると engine status に警告を出す (= model download 途中の disk full 予防)
ENGINE_TENSOR_PARALLEL_MAX8tensor parallel 自動決定 (VLLM/SGLANG_TENSOR_PARALLEL=0) の上限 (= GPU 数以下の最大 2 の冪を採用)

LLM (vLLM)

変数既定値説明
VLLM_CHAT_ENDPOINTS""chat vLLM endpoint pool (= カンマ区切り URL、空なら VLLM_BASE_URL)
VLLM_EMBED_ENDPOINTS""embed vLLM endpoint pool (= カンマ区切り URL、空なら VLLM_EMBED_BASE_URL)
VLLM_VISION_ENDPOINTS""vision vLLM endpoint pool (= カンマ区切り URL、空なら VLLM_VISION_BASE_URL)
DCGM_PORT9400DCGM exporter port (= host は endpoint から導出、best-effort で温度/電力 overlay)
VLLM_API_KEY""[機密] proxy 経由認証時のみ設定 (= 通常空)
VLLM_EMBED_API_KEY""[機密] embed server 用 API key
VLLM_MAX_MODEL_LEN""vLLM context window 上限
VLLM_EXTRA_ARGS_EMBED""embed server 起動の追加引数 (スペース区切り)
VLLM_EXTRA_ARGS_VISION""vision server 起動の追加引数 (スペース区切り)
VLLM_MODELS_TTL30served model 一覧の cache TTL 秒 (= この間は /v1/models を再 probe しない)
VLLM_START_MAX_RETRIES3auto-start 時の vLLM 起動 retry 回数
VLLM_START_RETRY_DELAY10vLLM 起動 retry の待機秒
VLLM_STARTUP_TIMEOUT3600vLLM server の ready 待ち timeout 秒 (= 大型 model は load が長い)
VLLM_SHUTDOWN_JOIN_TIMEOUT30停止時に vLLM 起動 thread の終了を待つ上限秒 (= load 途中の停止でぶら下がらせない、最大 120)
VLLM_EMBED_PROBE_RETRY_INTERVAL30embedding server 不在判定を再確認するまでの秒数 (= load 中の判定を引きずらない)
TRANSFORMERS_OFFLINE""1 で transformers lib もオフライン化 (= HF_HUB_OFFLINE と併用推奨)
VLLM_CACHE_ROOT""vLLM の cache root (= 空なら HF_HOME の隣 <HF_HOME の親>/vllm、HF_HOME 未設定なら ~/.cache/vllm)
TORCHINDUCTOR_CACHE_DIR""torch.compile (inductor) の cache dir (= 空なら <VLLM_CACHE_ROOT>/torchinductor。既定の /tmp は再起動で消え毎回 compile し直す)

LLM (SGLang)

変数既定値説明
SGLANG_CHAT_ENDPOINTS""chat SGLang endpoint pool (= カンマ区切り URL、空なら SGLANG_BASE_URL)
SGLANG_EMBED_ENDPOINTS""embed SGLang endpoint pool (= カンマ区切り URL、空なら SGLANG_EMBED_BASE_URL)
SGLANG_VISION_ENDPOINTS""vision SGLang endpoint pool (= カンマ区切り URL、空なら SGLANG_VISION_BASE_URL)
SGLANG_API_KEY""[機密] proxy 経由認証時のみ設定 (= 通常空)
SGLANG_EMBED_API_KEY""[機密] embed server 用 API key
SGLANG_ATTENTION_BACKEND""attention backend 指定 (= --attention-backend。例: flashinfer, triton。空なら SGLang 既定)
SGLANG_EXTRA_ARGS_EMBED""embed server 起動の追加引数 (スペース区切り)
SGLANG_EXTRA_ARGS_VISION""vision server 起動の追加引数 (スペース区切り)
SGLANG_START_MAX_RETRIES3auto-start 時の SGLang 起動 retry 回数
SGLANG_START_RETRY_DELAY10SGLang 起動 retry の待機秒
SGLANG_STARTUP_TIMEOUT3600SGLang server の ready 待ち timeout 秒 (= 大型 model / torch compile は load が長い)
SGLANG_SHUTDOWN_JOIN_TIMEOUT30停止時に SGLang 起動 thread の終了を待つ上限秒 (最大 120)
SGLANG_EMBED_PROBE_RETRY_INTERVAL30embedding server 不在判定を再確認するまでの秒数 (= load 中の判定を引きずらない)

LLM (Ollama)

変数既定値説明
OLLAMA_NUM_PARALLEL""Ollama 同時並列実行数 (= 空ならデフォルト)
OLLAMA_CONTEXT_LENGTH""(廃止予定: LLM_CONTEXT_LENGTH を使用) Ollama context window 長

LLM (Cloud)

変数既定値説明
CLOUD_PROMPT_CACHEautoAnthropic 呼出の prompt caching。auto = client (Claude Code 等) が cache_control を付けた要求だけ system / tools / 直近 user turn に breakpoint を置く、always = 常に置く、off = 置かない。割引の計算はせず、cache の書込 / 読出 token を数量として利用ログに残す
XAI_BASE_URLhttps://api.x.ai/v1xAI (Grok) の base URL (= OpenAI 互換エンドポイント)

RAG 設定

変数既定値説明
RAG_QUERY_REWRITEtrueRAG検索前に会話履歴で質問を自己完結クエリへ書き換え (= 「その表の詳細は?」等の追い質問対応)
RAG_AUTO_FILTERtrueナレッジにメタデータ項目が定義されていれば、質問中の条件 (案件 ID・期間 等) を LLM で抽出して検索を絞り込む (= 0 件なら絞り込み無しで再検索)
RAG_QUERY_REWRITE_TIMEOUT20クエリ書き換え LLM 呼出の timeout 秒 (= 超過時は原文で検索)
RAG_TOP_K8RAG 検索で取得する chunk 数の既定 (chat のナレッジ検索・添付検索・tool の vector_search 共通。request / ユーザー設定で上書き可)
RAG_MIN_SIMILARITY0.35RAG 検索の類似度しきい値の既定 (cosine。ハイブリッド検索の候補もこの値で足切り。request / ユーザー設定で上書き可)
RAG_CHUNK_SIZE500chunk 文字数の既定 (ナレッジ取込・chat 添付の session RAG 共通。取込時のパラメータ / ユーザー設定で上書き可)
RAG_CHUNK_OVERLAP100chunk の重なり文字数の既定
SESSION_RAG_MAX_CHUNKS5000chat 添付 RAG の in-memory 保持 chunk 上限 (= 超過は古い順に破棄)
RAG_HYBRID_CANDIDATE_FACTOR6hybrid 検索の候補 pool 倍率 (= top_k × この値)
RAG_HYBRID_CANDIDATE_MIN30hybrid 検索の候補 pool 最小数
RAG_RRF_K60RRF 融合の rank 平滑化定数 (= 大きいほど上位偏重が緩む)
RAG_METADATA_AI_MAX_CHARS4000metadata AI 自動抽出に渡す文書冒頭の最大文字数
RAG_MAX_PAGES200RAG 取込 / vision 抽出の PDF 最大ページ数
RAG_EMBED_FLUSH_CHUNKS200RAG取込でembed→DB保存をflushするchunk数 (= 巨大文書でも全vectorを貯めずメモリ一定)
HNSW_M16pgvector HNSW の m (= ノードあたり最大近傍数。大=recall↑/メモリ↑/構築遅)。変更は新規作成 index のみに効く (既存 index は再構築されない)
HNSW_EF_CONSTRUCTION64pgvector HNSW の ef_construction (= 構築時の候補幅。大=索引品質↑/構築遅)。変更は新規作成 index のみに効く
HNSW_EF_SEARCH100pgvector HNSW 検索時 ef_search の下限 (= 実効は候補数との max。大=recall↑/遅)
HNSW_ITERATIVE_SCANrelaxed_orderpgvector 0.8+ の iterative_scan (off|relaxed_order|strict_order。共有テーブルの過剰除外を回避。0.8 では自動で有効、GUC 非対応(0.6/版ズレ)環境は SAVEPOINT で自動 skip=無害)
RAG_EMBED_RETRY1RAG取込で chunk の embed 失敗時の再試行回数 (= 0 で再試行なし。部分失敗は結果に chunks_embed_failed で明示)
RAG_HYBRID_KEYWORD_WEIGHT0.5hybrid 検索でキーワード一致のみ (vector 候補に無い) chunk の RRF 重み (= 1.0 で vector 候補と同格)
RAG_CONTEXT_BUDGET_CHARS120000chat に注入する参照文脈 (添付+RAG+web) の合計文字数上限 (= LLM_CONTEXT_LENGTH 未設定時の既定。超過は類似度の低い chunk から落とす)
RAG_GROUNDING_MODE""参照文脈 (RAG/添付/web) がある時の接地の強さ: prefer=出典を優先しつつ不足は自分の知識で補い、その旨を明示 (既定) / strict=出典のみで答え、無ければ無いと言う / off=接地指示なし (引用指示も既定 off)。Assistant の metadata.digitalbase.grounding、API の metadata.digitalbase.grounding で個別に上書き可
RAG_NO_MATCH_WARNfalse選択ナレッジで 0 件ヒットの時に「No matching content in the selected knowledge base.」を chat の warning として表示する (= 既定 off。参照無しの回答は引用バッジが付かないことで分かる)
RAG_RERANK_WARNfalsereranker 失敗 (hybrid 順へ fallback) を chat の warning として利用者に通知する
RAG_INGEST_MAX_FILES500ファイル/フォルダ指定の一括取込 (POST /api/upload/from-files) で 1 job に含める最大ファイル数 (= フォルダ展開後に適用、超過分は打ち切り)
RAG_UPLOAD_MAX_MB0RAG 取込 upload 1 件の上限 MB (= 0 なら FILE_UPLOAD_MAX_MB を流用。超過は 413)
RAG_EXPORT_MAX_CHUNKS200000RAG export で 1 回に書き出せる chunk 数上限 (= 全量を memory に載せるため。超過は 413、0=無制限)
RAG_INGEST_JOB_DB_WRITE_INTERVAL_SEC2取込 job 進捗の DB 永続化間隔秒 (= stage 変化と終了時は即時。chunk 毎の書込を間引く)

認証 (セッション)

変数既定値説明
JWT_EXPIRE_HOURS8760ログインセッション (JWT) の有効期限 (時間)。既定 8760 (= 1 年、据置き端末前提)。共有端末では短くする (例: 24)
AUTH_LOCAL_FALLBACK1ldap / oidc モードでも localAuthAllowed なアカウント (既定 admin@local) のパスワードログインを許可する。1=許可 / 0=拒否
LOGIN_MAX_FAILURES0同一 (メールアドレス, IP) のログイン失敗をこの回数で一時ロックする (LOGIN_WINDOW_SEC の間)。既定 0 = 無効 (= 運用ポリシーは opt-in)
LOGIN_WINDOW_SEC600ログイン失敗回数を数える窓 (秒) = ロック継続時間
PASSWORD_MIN_LENGTH8ローカルアカウントの新規パスワードの最小文字数 (= ユーザー作成・変更時に検査。LDAP/OIDC には関与しない)

認証 (LDAP / AD 連携)

変数既定値説明
LDAP_TIMEOUT10LDAP サーバーへの接続・応答の待ち時間 (秒)。応答が遅い環境では引き上げる
LDAP_TLS_VERIFY0LDAPS のサーバー証明書を検証する。既定 0 = 検証しない (= 社内 CA / 自己署名の AD をそのまま使える)。1 で検証する (LDAP_CA_FILE で CA を指定)
LDAP_CA_FILE""LDAP_TLS_VERIFY=1 のとき証明書検証に使う CA 証明書ファイル (PEM)。空なら OS の信頼ストア
LDAP_DEMOTE_UNMAPPED0LDAP グループ→role の mapping にどれも該当しないユーザーを USER に降格する。既定 0 = 現在の role を維持 (mapping 該当時の昇格のみ)

認証 (OIDC)

変数既定値説明
MCP_OAUTH_TENANT_ID""MCP (/mcp) を Entra ID の OAuth で認証する時のテナント ID (空 = OIDC_TENANT_ID を使う。両方空なら OAuth 無効)
MCP_OAUTH_AUDIENCE""MCP 用に Entra ID で登録した API のアプリケーション ID URI か クライアント ID (トークンの aud と照合。空 = OAuth 無効)
MCP_OAUTH_ASSISTANT_ID""OAuth で繋いだ MCP クライアントに適用する Assistant の id (asst_... / 内部 id どちらでも可)。API キーの bound_assistant_id と同じ役割 (空 = 何も公開しない)
MCP_OAUTH_ISSUER""MCP の OAuth で Entra 以外の発行者 (検証用 mock や別 IdP) を使う時の issuer URL (例 http://mock:8091/entra)。空 = テナント ID から Entra の URL を組む
MCP_OAUTH_SCOPES""要求するスコープ (',' 区切り、例: mcp.access)。トークンの scp / roles にいずれかが無ければ拒否。空 = 検査しない

Web 検索

変数既定値説明
WEB_SEARCH_SNIPPET_MAX_CHARS300Web 検索結果 snippet の最大文字数
WEB_SEARCH_REGIONjp-jpDuckDuckGo の地域指定 (= kl パラメータ。日本語結果を優先)
WEB_SEARCH_FETCH_PAGES3検索上位から本文を取得するページ数 (= 0 で snippet のみの旧挙動)
WEB_SEARCH_PAGE_MAX_CHARS4000取得した本文をコンテキストに渡す最大文字数 (1ページあたり)
WEB_SEARCH_TIMEOUT10Web 検索 (DuckDuckGo/SearXNG) の HTTP timeout 秒

OAuth

変数既定値説明
OAUTH_UI_REDIRECT/connections?tab=apiOAuth 完了後の UI redirect path
OAUTH_ENCRYPTION_KEY""[機密] secret 暗号化 key (OAuth token / API 接続 / API key)。Fernet 形式 (url-safe base64 32B) ならそのまま、他の文字列は HKDF で鍵に派生。空なら JWT_SECRET から派生
OAUTH_REFRESH_THRESHOLD300OAuth token の期限前 refresh 開始秒
OAUTH_HTTP_TIMEOUT30OAuth token 交換/更新の HTTP timeout 秒
GRAPH_BASE_URLhttps://graph.microsoft.com/v1.0Microsoft Graph API の接続先 (= 国内 / 政府向けクラウドや検証用 mock に向ける時だけ変える)
OAUTH_MOCK_BASE_URL""検証用の OAuth mock プロバイダの URL (= 設定するとファイル接続に mock が出る。本番では空のまま)
OAUTH_MOCK_CLIENT_ID""検証用の OAuth mock プロバイダの client ID
OAUTH_MOCK_CLIENT_SECRET""[機密] 検証用の OAuth mock プロバイダの client secret

Vision

変数既定値説明
VISION_TILE_OVERLAP0.12vision タイル分割のオーバーラップ比率 (= 境界跨ぎの読み落とし防止)
VISION_TILE_MIN_EDGE1000vision タイル分割を行う最小短辺 px (= これ未満の画像は分割しない)
VISION_PDF_DPI300PDF→画像の解像度(dpi)。大判図面は高め(300-400)、通常文書は200程度
VISION_MAX_TILED_PARTS17タイル分割 vision の 1 リクエスト画像 part 上限 (= token 爆発防止)
VIDEO_INPUT_MODEauto動画添付の入力方式 (auto | native=video_url 直渡し | frames=フレーム画像列)
VIDEO_SAMPLE_MODEuniformframes 方式のサンプル位置 (uniform=等間隔 | scene=シーン変化点優先。スライド/画面録画向け)
VIDEO_SAMPLE_FPS1.0frames 方式の目標サンプルレート (枚/秒)。枚数は VIDEO_MIN/MAX_FRAMES にクランプ
VIDEO_MIN_FRAMES4frames 方式の最小フレーム数 (= 短いクリップでも最低限の時間分解能)
VIDEO_MAX_FRAMES32frames 方式の最大フレーム数 (= vision token 上限。長尺はこの枚数に間引き)
VIDEO_SCENE_THRESHOLD0.3scene サンプリングの変化検出しきい値 (0-1、小さいほど敏感)
VIDEO_FRAME_MAX_EDGE768frames 方式のフレーム画像の最大辺 px (= vision token 抑制)
VIDEO_NATIVE_MAX_MB20native 方式でこのサイズ MB 超は再エンコードしてから送る
VIDEO_NATIVE_MAX_EDGE720native 方式で送る動画の最大辺 px (超過は再エンコード)
VIDEO_NATIVE_FPS2native 方式で送る動画の fps (超過は再エンコード。Qwen 系の既定サンプルレートに合わせる)
VISION_MAX_TOKENS8192画像→text 化 (tool/pipeline/RAG) の VLM 出力トークン上限

音声 / Whisper

変数既定値説明
WHISPER_MODEL""Whisper モデルの上書き (= 名前で installed モデルを絞る、またはモデルのパス。空なら自動検出が正。通常設定不要)
WHISPER_VAD_FILTER1faster-whisper の Silero VAD で無音区間を除いてから認識する (= 無音での幻聴を抑える)。0 で無効
WHISPER_SILENCE_RMS0.002この RMS (0..1) 未満の音声は無音とみなし whisper を呼ばず空文字を返す (= 無音の幻聴と無駄な推論を防ぐ。0 で無効)
WHISPER_CPP_THREADS""whisper.cpp の推論スレッド数 (空 = CPU コア数、上限 16。既定 4 のままだと多コア機で 2〜3 倍遅い)
WHISPER_COMPUTE_TYPE""faster-whisper の compute_type (float16 / int8 / int8_float16 等。空 = CUDA は float16、CPU は int8)

音声 (STT / TTS)

変数既定値説明
AUDIO_HTTP_TIMEOUT60外部 STT / TTS への HTTP timeout 秒
TTS_MAX_CHARS40961 回の読み上げ要求の最大文字数 (= app は文単位で送るので通常届かない)

リソース上限

変数既定値説明
TOOL_FILE_READ_MAX_CHARS500000read_file tool の最大文字数 (= 超過分は切り捨て)
TOOL_CSV_MAX_ROWS100000CSV 読込/整形の最大行数
TOOL_REMOTE_MAX_BYTES209715200リモート(S3/Drive/SharePoint等)ファイル取得の最大バイト数
TOOL_LOCAL_INLINE_MAX_BYTES67108864ローカルファイル inline 読込の最大バイト数
PYTHON_OUTPUT_MAX_CHARS100000execute_python の出力テキスト最大文字数
PYTHON_DF_PREVIEW_ROWS1000execute_python の DataFrame プレビュー最大行数
TOOL_SEARCH_FILES_MAX_MATCHES50search_files tool の最大 match 行数
TOOL_SEARCH_SNIPPET_MAX_CHARS200search_files の match 行 snippet 最大文字数
TOOL_LIST_FILES_MAX_ENTRIES200list_files の共有 root 直下 file 列挙上限
TOOL_GLOB_MAX_MATCHES1000glob tool の最大 match 数
TOOL_GREP_MAX_MATCHES500grep tool の最大 match 行数
TOOL_SHARED_DIR_READ_MAX_BYTES32768共有 dir 専用 read tool の inline 読込上限バイト
TOOL_PREVIEW_ROWS50pipeline operator 実行 tool の結果 preview 行数
TOOL_VECTOR_SEARCH_MAX_TOP_K10vector_search tool の top_k 上限
TOOL_DESC_SCOPE_MAX_ITEMS50tool description に埋め込む scope 内項目数の上限 (vector_search/query_dataset 等、超過分は件数のみ)
TOOL_QUERY_DATASET_MAX_ROWS1000query_dataset tool の返却行数上限
TOOL_QUERY_SQL_MAX_ROWS1000query_sql tool (保存済み SQL 接続への read-only クエリ) の返却行数上限
TOOL_DESCRIBE_MAX_BYTES20971520vision 解析に渡す最大バイト数 (describe_file / pipeline の画像 operator 共通)
CHAT_TABLE_MAX_ROWS500chat の SQL 結果テーブル表示の最大行数
PYTHON_SESSION_TTL1800execute_python session の保持 TTL 秒
PYTHON_SESSION_MAX30execute_python session の同時保持数上限
PIPELINE_AI_TEXT_MAX_CHARS0AI op (transform_ai の reduce 等) が 1 回の prompt に入れるデータ文字数の上限。0 (既定) = model の文脈予算から自動
PIPELINE_PREVIEW_CELL_CHARS2000実行履歴の出力プレビューで 1 セルに残す最大文字数 (超過は切り詰め)
PIPELINE_MAX_RETRIES10step の retry_on_fail で許す再試行回数の上限 (設定値はここで頭打ち)
PIPELINE_RETRY_WAIT_MAX_MS60000step の再試行待ち (指数 backoff) の 1 回あたり上限ミリ秒
PIPELINE_PREVIEW_TIMEOUT_SEC120ワークフロー編集画面のステップ実行 (プレビュー) の上限秒。超えると中断して 504
PIPELINE_MAX_ITERATIONS10000pipeline 実行 loop の安全上限 (= 暴走 guard)
PIPELINE_AI_AGENT_MAX_CONCURRENCY8ai_agent op の並列実行上限 (= DB pool / vLLM 負荷保護)
EVENT_CHAIN_MAX_DEPTH3イベントトリガーの pipeline 連鎖の最大深さ (= 無限連鎖 guard)
PIPELINE_RAG_FILES_MAX500load_files_to_rag op の 1 run あたり取込ファイル数上限
PIPELINE_AI_ATTACHMENT_MAX_MB20ai_agent op の添付 1 ファイルあたりサイズ上限 (MB)
GATEWAY_QUERY_MAX_ROWS10000gateway data query の返却行数上限
PIPELINE_SQL_POOL_SIZE5pipeline SQL connector の connection pool size
PIPELINE_SQL_MAX_OVERFLOW10pipeline SQL connector の pool overflow 上限
PIPELINE_SQL_STATEMENT_TIMEOUT_MS600000pipeline SQL operator の1文タイムアウト(ms、0=無効)。batch 前提なので SQL Query 機能より長め (pg=statement_timeout。MySQL系は非対応)
SQL_POOL_SIZE2SQL Query 機能の connection pool size (= 同時利用が多い環境は引き上げ)
SQL_POOL_MAX_OVERFLOW3SQL Query 機能の pool overflow 上限
SQL_POOL_TIMEOUT10SQL Query 機能の pool 取得待ち秒
SQL_POOL_RECYCLE300SQL Query 機能の connection 再生成間隔秒
SQL_CONNECT_TIMEOUT10SQL Query 機能の外部DB接続タイムアウト秒 (= 到達不能DBで固まらない上限。pg/mysql系)
SQL_STATEMENT_TIMEOUT_MS30000SQL Query 機能の1文タイムアウト(ms、0=無効)。重いクエリを有界化 (pg=statement_timeout。MySQL系は非対応)
SQL_EXACT_COUNT_MAX100000行数を実COUNT(*)で数える上限 (= これ超は統計からの概算に切替え、大テーブルのフルスキャン回避)
SQL_EXECUTE_MAX_ROWS100000SQL生実行/AI SQL実行のSELECT取得行数上限 (= LIMITなし巨大クエリのメモリ/転送保護。0=無制限、超過は切詰めてメッセージ明記)
SQL_TABLE_MAX_ROWS1000SQL テーブル閲覧の1回の取得行数上限 (= 大きいテーブルを見る時に引き上げ。画面はページングで続きを取得)
PY_SANDBOX_MODEsubprocessユーザPython実行の隔離方式 (subprocess=kill保証+メモリ隔離 / thread=旧方式。環境起因でsubprocessが動かない時の逃げ道)
PY_SANDBOX_MAX_MEMORY_MB2048ユーザPython実行subprocessのメモリ上限MB (RLIMIT_AS、POSIXのみ。0=無制限)
PIPELINE_MAX_CONCURRENT_RUNS2pipeline runの常駐worker process数 (= 同時実行数。超過分はqueueで待機)
PIPELINE_WORKER_POOLdefaultこの process の worker が claim する pool 名。本体は内蔵 worker に渡し、digitalbase worker は自分の pool として使う。pipeline 側の実行先 (workerPool、ADMIN が設定) と一致した run だけを取る
PIPELINE_WORKER_HEARTBEAT_SEC60外部 worker (digitalbase worker) が生存を DB (PipelineWorker) に書く間隔 (秒)。この 3 倍を超えて更新が無い外部 worker は「居ない」扱いになり、抱えていた run は回収される。本体内蔵の worker は本体が監督するので書かない
PIPELINE_MAX_QUEUED_RUNS50同一 pipeline の待機 (queued) run の上限。event/webhook は実行中でも積まれ順に走る (超過分は捨てる/429)
PIPELINE_LOCK_TIMEOUT_SECONDS5ワークフローの起動・削除を直列化するロックの最大待ち秒数。超えると 503 (Retry-After) で返し、待ちが積み上がって全体が止まるのを防ぐ
PIPELINE_RUN_MAX_HOURS12pipeline run の上限時間 (= 固まったrunを自動failedに倒し再実行を可能にする。0=無制限)
PIPELINE_RUN_MAX_ATTEMPTS2worker 停止/再起動で中断された run を自動で再 queue する回数の上限 (1=再実行しない)
PIPELINE_AUTO_PAUSE_AFTER_FAILURES5pipeline がこの回数連続で失敗したら自動起動 (event/cron/webhook) を一時停止する (手動実行で解除、0=無効)
PIPELINE_SCHEDULE_MISFIRE_GRACE_SEC300cron tick が遅れてもこの秒数以内なら実行する (= 一時的な高負荷で tick を捨てない)
PIPELINE_SCHEDULE_CATCHUP1起動時に停止中に逃した cron tick があれば 1 回だけ実行する。1=有効 / 0=無効
EVENT_OUTBOX_MAX_ATTEMPTS8イベント配送 (EventOutbox) の再試行回数上限。超えた行は dead letter (failedAt) として残す
EVENT_OUTBOX_GIVE_UP_MIN60イベント配送の再試行を諦めるまでの分数 (超過は dead letter)
PIPELINE_WORKER_POLL_SEC5pipeline worker / outbox consumer の polling 間隔秒。LISTEN/NOTIFY が使えない DB でだけ使う (通常は NOTIFY で即起きる)
PIPELINE_IDLE_WAKE_SEC300NOTIFY が生きている時の保険の目覚まし (秒)。この間隔で 1 回だけ queue を見る = LISTEN 接続が黙って切れても最悪この秒数で拾う。アイドル時の DB アクセスはこれだけ
PIPELINE_CANCEL_KILL_GRACE_SEC15pipeline cancel後、協調停止 (step境界) を待つ猶予秒。超過でworker processをterminate/kill
PIPELINE_SQL_SOURCE_MAX_ROWS500000pipeline source_sql の取得行数上限 (= 無制限SELECTでのメモリ枯渇防止。0=無制限、超過分は切詰めてerrorsに明記)
SQL_SNAPSHOT_MAX_ROWS100000source_sql の snapshot 差分 (主キー + 行ハッシュの台帳) で扱える行数の上限。超えたら error (= 欠けた台帳を確定して残りを「削除」にしない)。大きい表は cursor 方式を使う
PIPELINE_FILE_SOURCE_MAX_MB500pipeline source_file の1ファイル上限MB (= 巨大ファイルでのメモリ枯渇防止。0=無制限、超過ファイルはerrorsに明記してskip)
FILE_UPLOAD_MAX_MB1024ファイルアップロード1件の上限MB (files/connector upload・base64 save共通。0=無制限)
CHAT_AUDIO_ATTACH_MAX_MB100chat 添付の音声ファイル1件の上限MB (文字起こし対象)
CHAT_VIDEO_ATTACH_MAX_MB100chat 添付の動画ファイル1件の上限MB (映像直渡し + 音声文字起こし対象)
LOG_DB_QUEUE_SIZE5000DB log handler の queue 上限
LOG_DB_BATCH_SIZE100DB log handler の batch insert 件数
LOG_DB_FLUSH_INTERVAL1.0DB log handler の flush 間隔秒
LOG_RETENTION_DAYS30AppLog (WARNING 以上) をこの日数より古いものは削除。0=無期限
AUDIT_RETENTION_DAYS365監査ログ (AuditLog) の保持日数。削除前に JSONL へ退避する。0=無期限
AUDIT_ARCHIVE_DIR<インストール先>/audit-archive監査ログを削除前に退避する JSONL の保存先ディレクトリ
CONNECTION_TOUCH_INTERVAL_SEC60接続 lastUsedAt の更新間引き間隔 (秒)。連続利用時の UPDATE を抑える
USAGE_RETENTION_DAYS90API 使用量 (ApiKeyUsage) の生データ保持日数。0=無期限
RETENTION_SWEEP_HOUR3保持期限 sweep を実行する時刻 (0-23、既定は負荷の低い深夜3時)
RETENTION_DELETE_BATCH5000保持期限 sweep の 1 回の DELETE 行数 (大テーブルのロック回避)
PIPELINE_RUN_RETENTION_DAYS90pipeline 実行履歴 (PipelineRun、完了/失敗/取消) の保持日数。pipeline ごとの直近分は日数に関わらず残す。0=無期限
PIPELINE_RUN_RETENTION_KEEP20PipelineRun sweep で pipeline ごとに必ず残す直近 run 数
EVENT_OUTBOX_RETENTION_DAYS14配送済 EventOutbox 行の保持日数 (未配送行は削除しない)。0=無期限
FILE_LANDED_DIFF_DETAIL_LIMIT200source_file_landed の実行履歴に残す差分根拠 (added/modified/deleted) の合計件数上限 (超過分は truncated 件数のみ)
FILE_LANDED_HASH_MAX_MB50source_file_landed content_hash=true 時に sha256 を取る 1 ファイル上限 MB (超過ファイルは size/mtime 比較のみ)
LOAD_TO_RAG_MAX_STALE_DELETE_RATIO0.5load_to_rag mode=sync の削除伝播で、既存 key のうちこの比率を超えて消えそうな場合は削除を skip する (0=無効)
EXECUTE_COMMAND_MAX_OUTPUT_BYTES1048576transform_execute_command が行に取り込む stdout/stderr の上限バイト数 (超過は切詰めて warning に明記)
PIPELINE_WAIT_MAX_SECONDS3600transform_wait の 1 step あたり待機秒数の上限 (超過設定は step error)
PY_SANDBOX_MAX_OUTPUT_BYTES268435456ユーザPython実行subprocessが親へ返す結果 (JSON) の上限バイト数 (one-shot / session 共通。超過は error)
ELASTICSEARCH_BULK_BATCH_SIZE1000load_elasticsearch の _bulk 1 リクエストあたりの document 数
ELASTICSEARCH_SOURCE_MAX_ROWS100000source_elasticsearch が search_after で取得する総 document 数の上限 (0=無制限、超過は warning に明記)
SNOWFLAKE_POLL_MAX_SEC600Snowflake SQL API の非同期 statement (202) 完了待ちの上限秒
SNOWFLAKE_LOAD_BATCH_ROWS100load_snowflake の 1 INSERT (複数行 VALUES) あたりの行数
SYSTEM_LOGS_MAX_ROWS10000source_logs / source_pipeline_metrics が DB から読む行数の上限 (超過は warning に明記)
PIPELINE_LOAD_ERROR_DETAIL_LIMIT20SaaS/DB load operator が errors に残す行単位エラーの件数上限 (超過分は件数のみ)

改名・廃止した設定キー

次のキーは読み込まれません(値は引き継がないので、.env に残っていれば新キーに書き直してください)。

旧キー現在
BOT_RAG_TOP_KRAG_TOP_K に改名
RAG_DEFAULT_TOP_KRAG_TOP_K に改名
SESSION_RAG_TOP_KRAG_TOP_K に改名
RAG_DEFAULT_MIN_SIMILARITYRAG_MIN_SIMILARITY に改名
SESSION_RAG_CHUNK_SIZERAG_CHUNK_SIZE に改名
SESSION_RAG_CHUNK_OVERLAPRAG_CHUNK_OVERLAP に改名
CLOUD_DEFAULT_MAX_TOKENSDEFAULT_MAX_OUTPUT_TOKENS に改名
RAG_GROUNDING_INSTRUCTION廃止(接地の強さは RAG_GROUNDING_MODE (off / prefer / strict) に一本化 (false 相当は off))
AUTH_LOGIN_RATE_LIMIT_PER_MIN廃止(登録のみで未実装だったため削除 (ログイン保護は LOGIN_MAX_FAILURES / LOGIN_WINDOW_SEC))
MAX_PDF_PAGES廃止(未使用のため削除 (取込ページ数の上限は RAG_MAX_PAGES))
TOOL_STREAM_TEXT_THRESHOLD廃止(tool ループの stream 判定を統一したため削除 (2026-08-18))

セキュリティ強化設定(任意)

既定値は「まず動く」側に寄せてあり、運用ポリシーは環境変数で有効化する方式です(ユーザー・権限管理)。厳格な運用が必要な場合は、次のブロックを .env に足して再起動してください。すべて既存の設定項目で、アップデートで戻ることはありません。

# ログイン保護
LOGIN_MAX_FAILURES=5          # 同一 ID・IP の連続失敗 5 回で一時ロック
LOGIN_WINDOW_SEC=600          # ロック判定の窓と解除までの秒数
PASSWORD_MIN_LENGTH=12        # 新規・変更時のパスワード最小長(既存は影響なし)
JWT_EXPIRE_HOURS=24           # セッション期限(共有端末なら 8 など)
# 通信
LDAP_TLS_VERIFY=1             # LDAPS の証明書検証(社内 CA は LDAP_CA_FILE を指定)
LDAP_CA_FILE=/path/to/ca.pem
# 管理画面
ADMIN_ENV_MASK_SECRETS=1      # 環境変数エディタで秘密値を *** 表示

監査ログ・パスワードの暗号化保存・ロールと共有の制御は既定で有効です(セキュリティ監査ログ)。

関連