-
Notifications
You must be signed in to change notification settings - Fork 1.5k
zh deploy langbot docker
Warning
您需要提前了解:
-
Docker和Docker Compose的使用 - Docker 容器间网络通信配置方式
Note
Git 克隆本项目:
git clone https://github.com/langbot-app/LangBot
cd LangBot/docker启动容器(推荐启用 all profile,以默认启用沙箱、stdio MCP 托管、Skill 添加/编辑等依赖 Box Runtime 的功能):
docker compose --profile all up开源版仅在 LangBot 与对应 Runtime 两端都未设置 Token 时跳过 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 管理中,不要提交到仓库。
这会启动 langbot、langbot_plugin_runtime 和 langbot_box。如果只需要基础服务,不启用 Box Runtime,可以使用:
docker compose uplangbot_box 通过主机 Docker socket 创建沙箱容器,因此 Box 根目录的宿主机路径和容器内路径必须一致:
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.sockNote
Box 控制面的启动方式因部署方式而异。 容器部署下,Box 控制面以独立的 langbot_box 容器运行,langbot 通过 WebSocket(ws://langbot_box:5410)连接它;而手动启动 / uvx 部署则由 langbot 直接拉起一个 stdio 子进程作为 Box 控制面。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_box 不直接读取 LANGBOT_BOX_* 或 BOX__* 环境变量;Box 配置由 langbot 读取 BOX__LOCAL__* 后通过 INIT RPC 传给 Box Runtime。若要改 Box 根目录,请使用绝对路径设置 LANGBOT_BOX_ROOT,例如 LANGBOT_BOX_ROOT=/var/lib/langbot/box docker compose --profile all up。
Note
- 如果你的主机位于中国大陆,可以考虑把
docker-compose.yaml文件中的镜像名称改为docker.langbot.app/langbot-public/rockchin/langbot:latest以使用我们提供的镜像源。- 推荐设置 Docker 容器代理,以便保证 LangBot 在运行期间的网络访问通畅。
- 如果需要禁用或强制沙箱后端,请参考沙箱配置。
首次启动会输出创建配置文件的提示,请继续按照文件配置。
容器会映射5300端口供 WebUI 使用,您可以访问http://127.0.0.1:5300查看 WebUI。
还会映射2280-2285端口供使用 OneBot 协议的消息平台适配器反向连接。
完成 LangBot 部署后,请继续阅读:
Automatically synchronized from langbot-app/langbot-wiki.
简体中文
指南
开发者
- 插件开发
- 插件 SDK API
- 核心开发
API 参考
- Service API
English
Guides
Developers
-
Plugin Development
- Plugin Development Tutorial
- Completing Plugin Configuration Information
- Plugin Directory Structure
- Component Development
- Code Style Guide
- Migration Guide
- Publish Plugin
- Plugin SDK API
- Core Development
API Reference
- Service API