Docker Compose 部署 LangBot 教程
前言
LangBot 是一款开源的多平台智能机器人开发平台,可对接 Discord、Telegram、QQ、飞书、钉钉、微信(企微 / 公众号)等 IM,并接入 GPT、DeepSeek、Claude、Gemini、Ollama、Dify 等模型与工作流,提供 Agent、知识库、插件与沙箱能力。
本文基于官方 Docker Compose,在 Rocky Linux / RHEL 系上一键部署(推荐启用 all profile)。
官方文档:https://docs.langbot.app/zh/deploy/langbot/docker
项目地址:https://github.com/langbot-app/LangBot
环境要求
硬件(建议)
| 项目 | 要求 |
|---|---|
| CPU | >= 2 核 |
| 内存 | >= 2 GiB(启用沙箱 / 插件建议 4 GiB+) |
| 磁盘 | 建议预留 20 GiB+ |
软件
| 项目 | 要求 |
|---|---|
| 操作系统 | Linux(本文以 Rocky Linux 9 为例) |
| Docker | 已安装并可正常使用 |
| Docker Compose | Compose V2(docker compose) |
| Git | 用于克隆仓库 |
启用 Box 沙箱时,容器需挂载宿主机 /var/run/docker.sock,运行用户需能访问 Docker。
环境配置
1 | systemctl disable --now firewalld |
Docker-CE 环境安装
1 | yum install -y yum-utils |
参考清华大学源:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
Docker 国内镜像加速器配置
1 | sudo mkdir -p /etc/docker |
PS:也可参考 https://songxwn.com/cf-works-DockerHub-Proxy/ 自行搭建镜像加速。
若非 root 用户部署并启用沙箱,需加入 docker 组:
1 | sudo usermod -aG docker $USER |
部署 LangBot
1. 克隆官方仓库
1 | cd /opt |
2.(可选)生成控制面 Token
启用 all / box profile 时建议设置 Token;插件运行时也可选配。可先导出再启动:
1 | cd /opt/LangBot/docker |
也可自定义 Box 数据根目录(宿主机与容器路径必须一致):
1 | export LANGBOT_BOX_ROOT=/var/lib/langbot/box |
3.(国内可选)替换镜像源
若 Docker Hub 拉取困难,可编辑 docker-compose.yaml,将镜像改为官方镜像源:
1 | image: docker.langbot.app/langbot-public/rockchin/langbot:latest |
langbot、langbot_plugin_runtime、langbot_box 三处都需改成同一镜像名。
4. 启动服务
推荐(启用沙箱、stdio MCP、Skill 添加/编辑等 Box 能力):
1 | cd /opt/LangBot/docker |
仅基础服务(不启 Box Runtime):
1 | docker compose up -d |
all profile 会启动:
| 容器 | 作用 |
|---|---|
langbot |
主程序 + WebUI |
langbot_plugin_runtime |
插件运行时 |
langbot_box |
Box 沙箱控制面(通过宿主 docker.sock 创建沙箱容器) |
5. 检查状态
1 | docker compose ps |
访问与初始化
浏览器打开 WebUI:
1 | # 本机 |
首次启动会生成配置文件,按 WebUI / 日志提示完成初始化即可。
也可在 WebUI 中选择 Initialize with Space,连接 LangBot Space 获取云端模型额度、一键装插件等能力。
端口说明
| 端口 | 用途 |
|---|---|
5300 |
WebUI、Webhook 回调 |
2280-2285 |
OneBot 等消息平台适配器反向连接 |
5401 |
插件运行时(一般本机/容器网内使用) |
配置机器人与模型
部署完成后按官方文档继续配置:
- 模型:https://docs.langbot.app/zh/usage/models/readme
可接 OpenAI、DeepSeek、硅基流动、Ollama、Dify 等。 - 消息平台:https://docs.langbot.app/zh/usage/platforms/readme
Discord / Telegram / QQ / 飞书 / 钉钉 / 微信等。 - 沙箱:https://docs.langbot.app/zh/usage/sandbox/readme
- 技能系统:https://docs.langbot.app/zh/usage/skills/readme
简易路径:
- 打开 WebUI → 配置模型(或使用 Space)
- Pipelines 中编辑默认流水线,选择模型与提示词
- Bots 中新增机器人,填写平台 Token 并启用
反向代理(可选)
若用宿主机 Nginx 对外暴露 WebUI(示例域名请自行替换):
1 | server { |
使用 OneBot 反向连接时,还需放行或转发 2280-2285(按所用适配器端口调整)。
升级
1 | cd /opt/LangBot |
数据在 docker/data(含配置、插件、Box 工作区等),升级一般会保留。注意:插件依赖是装在容器内的,若重建容器后插件缺依赖,可删插件目录后重启再装一次,让程序重新安装依赖。
常用运维命令
1 | cd /opt/LangBot/docker |
常见问题
提示
No sandbox backend (Docker/nsjail/E2B) is ready
确认当前用户能执行docker info,且langbot_box已挂载/var/run/docker.sock;修好后重启 Compose。Box 根目录路径问题
宿主机路径与容器内路径必须一致;改目录时用绝对路径设置LANGBOT_BOX_ROOT。国内拉不动
rockchin/langbot
改用docker.langbot.app/langbot-public/rockchin/langbot:latest,或配置 Docker Hub 代理。只想跑基础功能
使用docker compose up -d(不加--profile all)。此时沙箱工具、Skill 增删、stdio MCP 等不可用。运行期访问外网失败(拉模型 / 插件)
可为 Docker 配置 HTTP/HTTPS 代理,保证容器出网正常。
技术交流群
发送邮件到 ➡️ [email protected]
或者关注 WX 公众号:网工格物
