Files
LangBot/ja/deploy/settings.mdx
T

177 lines
8.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "システム環境設定"
description: "LangBot のシステム環境変数とランタイム設定を構成し、AI ボットのデプロイをカスタマイズ。"
---
システム動作のための環境情報を設定します。設定ファイルは `data/config.yaml` にあります。
通常、変更は必要ありません。
```yaml
admins: []
api:
port: 5300
webhook_prefix: 'http://127.0.0.1:5300'
extra_webhook_prefix: ''
global_api_key: '' # グローバル API キー。空でない場合、HTTP API と MCP サーバー(/mcp)の両方で、ログインセッション・データベースレコード・`lbk_` プレフィックス不要で認証されます。空 = 無効。平文で保存されるため、信頼できる / 内部デプロイでのみ有効化し、HTTPS で公開してください。
command:
enable: true
prefix:
- '!'
- !
privilege: {}
concurrency:
pipeline: 20
session: 1
proxy:
http: ''
https: ''
system:
instance_id: ''
edition: community
recovery_key: ''
allow_modify_login_info: true
disabled_adapters: []
limitation:
max_bots: -1
max_pipelines: -1
max_extensions: -1
task_retention:
# メモリ内に保持する完了済み非同期タスク履歴の最大数
completed_limit: 200
jwt:
expire: 604800
secret: ''
database:
use: sqlite
sqlite:
path: 'data/langbot.db'
postgresql:
host: '127.0.0.1'
port: 5432
user: 'postgres'
password: 'postgres'
database: 'postgres'
vdb:
use: chroma
qdrant:
url: ''
host: localhost
port: 6333
api_key: ''
seekdb:
mode: embedded # 'embedded' または 'server'
# 組み込みモード設定:
path: './data/seekdb'
database: 'langbot'
# サーバーモード設定(mode='server' の場合):
host: 'localhost'
port: 2881
user: 'root'
password: ''
tenant: '' # OceanBase サーバー向けの任意項目
milvus:
uri: 'http://127.0.0.1:19530'
token: ''
db_name: ''
pgvector:
host: '127.0.0.1'
port: 5433
database: 'langbot'
user: 'postgres'
password: 'postgres'
storage:
use: local
cleanup:
# ローカル/S3 のアップロードファイルと古いログを定期的に削除するか
enabled: true
# クリーンアップ確認間隔(時間)
check_interval_hours: 1
# ストレージルート直下のアップロードファイルを保持する日数
uploaded_file_retention_days: 7
# LangBot ログファイルを保持する日数
log_retention_days: 3
s3:
endpoint_url: ''
access_key_id: ''
secret_access_key: ''
region: 'us-east-1'
bucket: 'langbot-storage'
plugin:
enable: true
runtime_ws_url: 'ws://langbot_plugin_runtime:5400/control/ws'
enable_marketplace: true
display_plugin_debug_url: 'ws://localhost:5401/plugin/debug/ws'
binary_storage:
# 1 つのプラグインバイナリストレージ値の最大バイト数
max_value_bytes: 10485760
monitoring:
auto_cleanup:
# 期限切れの監視レコードを自動削除するか
enabled: true
# 監視レコードの保持日数
retention_days: 30
# クリーンアップ確認間隔(時間)
check_interval_hours: 1
# 各監視テーブルで 1 回に削除する期限切れ行数
delete_batch_size: 1000
box:
backend: 'local' # 'local' (Docker/nsjail), 'docker', 'nsjail', または 'e2b'。BOX__BACKEND で書き込めます。
runtime:
endpoint: '' # 外部 Box Runtime ベース URL(例: 'ws://127.0.0.1:5410')。空の場合はローカル自動管理ランタイムを使用。
local:
profile: 'default'
image: '' # カスタムローカルサンドボックスイメージ。空の場合はプロファイルデフォルトを使用。
host_root: './data/box' # ローカルワークスペースマウント用のホストルートディレクトリ。Docker デプロイ時は langbot_box にマウントする絶対ホストパスを使用。
default_workspace: '' # デフォルトは '<host_root>/default'。
skills_root: 'skills' # Box が管理する Skill パッケージディレクトリ。相対パスは host_root 配下に解決されます。
allowed_mount_roots: # 空の場合はデフォルトで ['<host_root>']。
- './data/box'
- '/tmp'
workspace_quota_mb: null # オプションのディスククォータオーバーライド (>= 0)。null = プロファイルデフォルト。
docker:
cpu_limit_enabled: true # false の場合、Docker サンドボックスコンテナは --cpus なしで起動します。メモリと PID 制限は維持されます。
e2b:
api_key: '' # E2B_API_KEY 環境変数でも設定可能。
api_url: '' # セルフホストデプロイ用のカスタム API URL。
template: '' # デフォルトテンプレート ID(例: 'base', 'python-3.11')。
space:
# Space サービス URL
url: 'https://space.langbot.app'
# Space モデルリクエスト API URL(MaaS)
models_gateway_api_url: 'https://api.langbot.cloud/v1'
# OAuth 認可ページ URL
oauth_authorize_url: 'https://space.langbot.app/auth/authorize'
disable_models_service: false
disable_telemetry: false
```
## 補足
- `storage.cleanup.uploaded_file_retention_days` はストレージルート直下の一時アップロードファイルのみを削除します。プラグイン設定ファイルやディレクトリ配下の内部オブジェクトは削除しません。
- `storage.cleanup.log_retention_days` はファイル名の日付に基づいて古いログを削除します。デフォルトでは最大 3 日分のログを保持します。
- SQLite をデータベースとして使用している場合、監視レコードの自動削除後にデータベースファイルの空き容量を直接解放します。
- `plugin.binary_storage.max_value_bytes` は 1 つのプラグインバイナリストレージ値のサイズを制限します。デフォルトは 10 MiB です。
- WebUI のサイドバーには「ストレージ分析」ページがあり、データベース、ログ、アップロードファイル、ベクターストア、プラグイン、MCP、一時ファイル、クリーンアップ候補を確認できます。
- `api.global_api_key` はエージェント / 自動化向けのグローバル API キーです。設定すると、HTTP API または組み込み MCP サーバー(`/mcp`)の呼び出し時に `X-API-Key: <key>` または `Authorization: Bearer *** を送るだけで認証されます(ログインセッションやデータベース保存の `lbk_` キーは不要)。`config.yaml` に平文で保存されるため、信頼できる / 内部デプロイでのみ有効化し、HTTPS で公開してください。[API キー認証](https://github.com/langbot-app/LangBot/blob/master/docs/API_KEY_AUTH.md) を参照。
## 環境変数による設定
`config.yaml` の設定は環境変数を介して設定できます。環境変数名は大文字で、二重アンダースコアで接続されます。例: `API__PORT` は `api.port` を表します。
- `API__PORT` は `api.port` を表します
- `CONCURRENCY__PIPELINE` は `concurrency.pipeline` を表します
- `DATABASE__SQLITE__PATH` は `database.sqlite.path` を表します
- `STORAGE__CLEANUP__UPLOADED_FILE_RETENTION_DAYS` は `storage.cleanup.uploaded_file_retention_days` を表します
- `STORAGE__CLEANUP__LOG_RETENTION_DAYS` は `storage.cleanup.log_retention_days` を表します
- `MONITORING__AUTO_CLEANUP__RETENTION_DAYS` は `monitoring.auto_cleanup.retention_days` を表します
- `PLUGIN__BINARY_STORAGE__MAX_VALUE_BYTES` は `plugin.binary_storage.max_value_bytes` を表します
- `BOX__BACKEND` は `box.backend` を表します
- `BOX__LOCAL__HOST_ROOT` は `box.local.host_root` を表します
- `BOX__LOCAL__SKILLS_ROOT` は `box.local.skills_root` を表します
起動時、LangBot はすべての環境変数を読み取り、対応する設定を `config.yaml` に適用して `data/config.yaml` ファイルに書き込みます。
<Note>
Box 関連設定は `langbot` サービスに統一形式の `BOX__*` 環境変数で設定します。LangBot は起動時にそれらを `data/config.yaml` に適用し、INIT RPC 経由で Box 設定を `langbot_box` に渡します。`LANGBOT_BOX_*` や `BOX__*` を `langbot_box` に設定しても直接読み取られません。
</Note>