LangBot/docker.
Docker Deployment
Preflight Checks
If you need the sandbox, stdio MCP hosting, or Skill add/edit features, start LangBot with theall profile:
langbot: WebUI and backend service, exposing5300and2280-2285by default.langbot_plugin_runtime: plugin runtime, exposing5401by default.langbot_box: Box Runtime control plane, used to create sandbox containers.
docker compose up, langbot_box is not started. stdio MCP, Skill add/edit, and some sandbox-dependent features will be unavailable.
Port Conflicts
Symptoms
docker compose upfails with a port binding error.- The WebUI cannot be opened at
http://127.0.0.1:5300. - Logs contain
port is already allocatedorbind: address already in use.
Fix
Find the process using the port. Linux/macOS:docker-compose.yaml.
Box Runtime Is Not Available
Symptoms
- The UI or logs show
No sandbox backend (Docker/nsjail/E2B) is ready. - stdio MCP servers are unavailable.
- Skills cannot be installed, activated, or edited.
Common Causes
- LangBot was not started with
--profile allor--profile box. langbot_boxis not running.- Docker Desktop or the current user cannot access Docker.
- On Linux, the current user does not have permission to access the Docker socket.
Fix
Make surelangbot_box is running:
docker group if needed, then log in again:
Box Root Mount Fails
Symptoms
- Logs contain
host_path is outside allowed_mount_roots. - Logs contain
host_path must point to an existing directory on the host. - On Docker Desktop, the Box root is resolved to
/run/desktop/...and is rejected. - stdio MCP or Skill sandbox containers cannot be created.
Cause
langbot_box creates sandbox containers through the host Docker socket. Those sandbox containers see host paths, so the Box root path must be identical on the host and inside the container, and it must be under allowed_mount_roots.
Fix
Set an absolute path that Docker can mount and that Box security checks can accept inLangBot/docker/.env:
docker/data/config.yaml manually, check that it points to the same root:
Many stdio MCP Servers Fail or Stay Connecting
Symptoms
- MCP status stays at
connectingor becomeserror. docker logs langbot_boxcontainsCannot fork.- After installing many stdio MCP servers, previously working MCP servers also fail to start.
Cause
stdio MCP servers run inside the Box sandbox. The default Box profile has a relatively small PID limit. Starting manynpx or uvx based MCP servers at the same time can hit that process limit.
Fix
Use the larger built-in Box profile indocker/data/config.yaml:
connected and a non-zero tool count.
MCP Is Installed but Has No Tools or Cannot Connect
Symptoms
- The MCP server is listed, but its status is
erroror stays atconnecting. - Tool count is
0. - Remote MCP logs show
401 Unauthorized, connection timeout, or handshake failure.
Common Causes
- The remote MCP requires an API key or OAuth authorization that is not configured.
- The MCP package is cold starting through
npxoruvx, and dependency download takes time. - The current Docker network cannot reach the MCP service or package registry.
- The stdio MCP sandbox does not have enough resources.
Fix
Prefer MCP servers from LangBot Space that do not require credentials, or make sure credentials are configured correctly. For credentialed MCP servers, fill in the required environment variables, headers, or URL parameters during installation. Check runtime logs:Image Tag or Registry Is Inconsistent
Symptoms
docker compose psstill shows an old image.- Image registry or tag changes do not take effect after restart.
langbot,langbot_plugin_runtime, andlangbot_boxuse different image tags.
Fix
Keep the three LangBot service image tags consistent, then pull and recreate:docker-compose.yaml: langbot, langbot_plugin_runtime, and langbot_box.
Post-Fix Verification
After applying a fix, run a full check:- Login works.
- Box / sandbox features are available.
- Target MCP servers show
connected. - stdio MCP servers show the expected tool count.
