Skip to content

ja deploy langbot docker

langbot-wiki-sync[bot] edited this page Aug 21, 2026 · 3 revisions

Dockerデプロイ

Warning

まず以下について学習することをお勧めします:

  • DockerDocker Composeの使用方法
  • Dockerコンテナネットワーク通信の設定方法

Note

  • Git、Docker、Docker Composeがインストールされていることを確認してください

プロジェクトをクローンします:

git clone https://github.com/langbot-app/LangBot
cd LangBot/docker

推奨の all profile でコンテナを起動します。これにより、サンドボックス、stdio MCP ホスティング、Skill の追加/編集など Box Runtime に依存する機能がデフォルトで有効になります:

docker compose --profile all up

インターネット公開時の Runtime Token

オープンソース版で Token 検証が省略されるのは、LangBot と対応する Runtime の両方で Token が未設定の場合のみです。インターネットからアクセス可能な環境では、Plugin Runtime と Box Runtime にそれぞれ強力な Token を設定することを強く推奨します:

export LANGBOT_PLUGIN_RUNTIME_CONTROL_TOKEN="$(openssl rand -hex 32)"
export LANGBOT_BOX_CONTROL_TOKEN="$(openssl rand -hex 32)"
docker compose --profile all up -d

公式 Compose ファイルは、各変数を対応する接続の両端に渡します。片側だけの設定、値の不一致、または強度不足の Token は接続拒否の原因になります。Token はデプロイ環境の Secret 管理に保存し、リポジトリへコミットしないでください。

これにより langbotlangbot_plugin_runtimelangbot_box が起動します。Box Runtime を有効にせず、基本サービスのみを使う場合は次を実行します:

docker compose up

SeekDB サポート

公式 Docker イメージにはオプションの SeekDB 依存関係がすでに含まれており、追加のビルド引数は不要です。コンテナは対応する Linux アーキテクチャの pylibseekdb wheel を使用するため、ホストの macOS バージョンはコンテナ内の組み込みモードを制限しません。SeekDB を使用しない場合は、デフォルトの vdb.use: chroma のまま使用できます。

langbot_box はホスト Docker socket 経由でサンドボックスコンテナを作成するため、Box root のホスト側パスとコンテナ内パスは同一である必要があります:

services:
  langbot:
    environment:
      - BOX__LOCAL__HOST_ROOT=${LANGBOT_BOX_ROOT:-${PWD}/data/box}
      - BOX__LOCAL__DEFAULT_WORKSPACE=default
      - BOX__LOCAL__SKILLS_ROOT=skills
      - BOX__LOCAL__ALLOWED_MOUNT_ROOTS=${LANGBOT_BOX_ROOT:-${PWD}/data/box}

  langbot_box:
    profiles: ["box", "all"]
    volumes:
      - ${LANGBOT_BOX_ROOT:-${PWD}/data/box}:${LANGBOT_BOX_ROOT:-${PWD}/data/box}
      - /var/run/docker.sock:/var/run/docker.sock

Note

Box コントロールプレーンの起動方式はデプロイ方法によって異なります。 Docker デプロイでは独立した langbot_box コンテナとして動作し、langbot は WebSocket(ws://langbot_box:5410)で接続します。手動起動 / uvx デプロイでは、langbot が Box コントロールプレーンとして stdio サブプロセスを直接起動します。langbot_box はマウントされた docker.sock を介してホスト Docker 上にサンドボックスの兄弟コンテナを作成します。LangBot イメージには docker クライアントが同梱されているため、追加のインストールは不要です。

No sandbox backend (Docker/nsjail/E2B) is ready と表示される場合は、まず現在のユーザーが Docker にアクセスできるか確認してください:

sudo usermod -aG docker $USER
newgrp docker
docker info

docker info が正常に出力される場合は、LangBot を再起動してください。

Warning

langbot_boxLANGBOT_BOX_*BOX__* 環境変数を直接読み取りません。BOX__LOCAL__*langbot に設定し、LangBot が INIT RPC 経由で Box Runtime に渡します。Box root を変更する場合は LANGBOT_BOX_ROOT=/var/lib/langbot/box docker compose --profile all up のように絶対パスを指定してください。

コンテナはWebUIアクセス用にポート5300をマッピングします。http://127.0.0.1:5300にアクセスしてWebUIを表示できます。 また、メッセージプラットフォームアダプター用に予約されたポート2280-2285もマッピングします。

LangBotのデプロイ完了後、引き続き以下をお読みください:

LangBot Documentation

Home

简体中文
指南
开发者
文章
API 参考
Other pages
English
Guides
Developers
Articles
API Reference
Other pages
日本語
ガイド
開発者
記事
API リファレンス
Other pages

Clone this wiki locally