LangBot/docker ディレクトリで実行する前提です。
Docker デプロイ
起動前の確認
サンドボックス、stdio MCP ホスティング、Skill の追加/編集を使う場合は、all profile で起動してください:
langbot: WebUI とバックエンドサービス。既定で5300と2280-2285を公開します。langbot_plugin_runtime: プラグインランタイム。既定で5401を公開します。langbot_box: Box Runtime のコントロールプレーン。サンドボックスコンテナを作成します。
docker compose up だけを実行した場合、langbot_box は起動しません。そのため stdio MCP、Skill の追加/編集、一部のサンドボックス依存機能は利用できません。
ポート競合
症状
docker compose upがポートバインドエラーで失敗する。http://127.0.0.1:5300で WebUI を開けない。- ログに
port is already allocatedやbind: address already in useが出る。
解決方法
ポートを使用しているプロセスを確認します。Linux/macOS:docker-compose.yaml の該当ポートマッピングを変更してください。
Box Runtime が利用できない
症状
- UI またはログに
No sandbox backend (Docker/nsjail/E2B) is readyと表示される。 - stdio MCP サーバーが利用できない。
- Skills をインストール、アクティベート、編集できない。
主な原因
--profile allまたは--profile boxで起動していない。langbot_boxが起動していない。- Docker Desktop または現在のユーザーが Docker にアクセスできない。
- Linux で現在のユーザーに Docker socket への権限がない。
解決方法
langbot_box が起動しているか確認します:
docker グループに追加し、再ログインします:
Box root のマウントに失敗する
症状
- ログに
host_path is outside allowed_mount_rootsが出る。 - ログに
host_path must point to an existing directory on the hostが出る。 - Docker Desktop 環境で Box root が
/run/desktop/...に解決され、拒否される。 - stdio MCP または Skill のサンドボックスコンテナを作成できない。
原因
langbot_box はホスト Docker socket 経由でサンドボックスコンテナを作成します。サンドボックスコンテナから見えるのはホスト側のパスなので、Box root はホスト側とコンテナ内で同一パスである必要があり、かつ allowed_mount_roots の配下でなければなりません。
解決方法
Docker がマウントでき、Box の安全チェックで許可される絶対パスをLangBot/docker/.env に設定します:
docker/data/config.yaml を手動で変更している場合は、同じ root を指しているか確認してください:
多数の stdio MCP が失敗する、または connecting のままになる
症状
- MCP の状態が
connectingのまま、またはerrorになる。 docker logs langbot_boxにCannot forkが出る。- 多数の stdio MCP をインストールしたあと、以前は動いていた MCP も起動に失敗する。
原因
stdio MCP は Box サンドボックス内で実行されます。既定の Box profile は PID 制限が比較的小さいため、npx や uvx ベースの MCP を同時に多く起動するとプロセス数の上限に達することがあります。
解決方法
docker/data/config.yaml で、より大きな組み込み Box profile を使います:
connected になり、ツール数が 0 ではないことを確認します。
MCP はインストール済みだがツールがない、または接続できない
症状
- MCP サーバーは一覧にあるが、状態が
errorまたは長時間connectingのまま。 - ツール数が
0。 - リモート MCP のログに
401 Unauthorized、接続タイムアウト、ハンドシェイク失敗が出る。
主な原因
- リモート MCP に API Key または OAuth 認証が必要だが、設定されていない。
- MCP パッケージが
npxまたはuvxで初回起動中で、依存関係のダウンロードに時間がかかっている。 - 現在の Docker ネットワークから MCP サービスまたはパッケージレジストリに到達できない。
- stdio MCP のサンドボックスリソースが不足している。
解決方法
LangBot Space では、認証情報が不要な MCP を優先するか、必要な認証情報を正しく設定してください。認証が必要な MCP では、インストール時に環境変数、ヘッダー、URL パラメーターを入力します。 実行時ログを確認します:イメージタグまたはレジストリが一致しない
症状
docker compose psで古いイメージが表示される。- イメージのレジストリやタグを変更しても、再起動後に反映されない。
langbot、langbot_plugin_runtime、langbot_boxが異なるイメージタグを使用している。
解決方法
3 つの LangBot サービスのイメージタグを一致させてから、pull と再作成を行います:docker-compose.yaml の langbot、langbot_plugin_runtime、langbot_box の 3 箇所をすべて同じタグに変更してください。
修正後の確認
修正後は、次の確認を行うことを推奨します:- ログインできる。
- Box / サンドボックス機能が利用できる。
- 対象 MCP サーバーが
connectedになっている。 - stdio MCP のツール数が想定どおり表示される。
