mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-29 20:05:25 +08:00
173 lines
7.6 KiB
Plaintext
173 lines
7.6 KiB
Plaintext
---
|
||
title: "システム環境設定"
|
||
description: "LangBot のシステム環境変数とランタイム設定を構成し、AI ボットのデプロイをカスタマイズ。"
|
||
---
|
||
|
||
システム動作のための環境情報を設定します。設定ファイルは `data/config.yaml` にあります。
|
||
通常、変更は必要ありません。
|
||
|
||
```yaml
|
||
admins: []
|
||
api:
|
||
port: 5300
|
||
webhook_prefix: 'http://127.0.0.1:5300'
|
||
extra_webhook_prefix: ''
|
||
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 = プロファイルデフォルト。
|
||
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、一時ファイル、クリーンアップ候補を確認できます。
|
||
|
||
## 環境変数による設定
|
||
|
||
`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>
|