别重装了:Hermes WebUI 多容器部署一键拉起指南
【免费下载链接】hermes-webuiHermes WebUI: The best way to use Hermes Agent from the web or from your phone!项目地址: https://gitcode.com/GitHub_Trending/he/hermes-webui
每次换台机器都要重走一遍安装流程。Hermes WebUI 多容器部署就是来解决这件事的:Agent、聊天界面、监控面板一个 compose 文件全部拉起,浏览器里直接用。下面按顺序带你走一遍。
✅ 部署前快速体检
Docker Compose 部署 Hermes 之前,先对一下这三条硬指标:
- ✅ 软件:Docker Engine 20.10+ 与 Docker Compose 2.0+
- ✅ 硬件:至少 4GB 可用内存、10GB 以上可用磁盘
- ✅ 网络:能拉取镜像仓库的镜像(首次启动会慢一些,正常)
终端里敲docker compose version能输出版本号,就说明这一关过了。接下来拉代码,这条命令帮你把项目源码拉到本地并进入目录:
git clone https://gitcode.com/GitHub_Trending/he/hermes-webui cd hermes-webui跑完你就站在了 compose 文件所在的项目根目录里。
一张图看懂三个容器
容器就是隔离好的程序环境:各自一套文件系统,互相看不见对方的内存。Hermes WebUI 多容器部署拆成三个:
- hermes-agent— 网关服务,接管所有 API 请求和定时任务,监听 8642 端口(默认仅本机可访问)
- hermes-webui— 浏览器里的聊天界面,监听 8787 端口
- hermes-dashboard— 监控面板,看健康状态和资源用量,监听 9119 端口
Hermes WebUI 端口说明就这一句:8642 是内部通信用的,你只需要记住 8787 和 9119。整套部署只依赖这一份 compose 文件,不用手动配服务——记住端口号,其他交给 compose。
配置文件只看这几行
docker-compose.three-container.yml 不必通读,关键的只有这几行:
image: nousresearch/hermes-agent:latest # agent 与 dashboard 用同一镜像 - "127.0.0.1:8787:8787" # webui 端口:聊天界面 - "127.0.0.1:9119:9119" # dashboard 端口:监控面板 - hermes-home:/home/hermes/.hermes # 共享数据卷(共享磁盘,容器删了数据还在) # …其余字段省略,完整文件见仓库镜像名决定每个容器里跑什么软件;两条端口映射决定你浏览器访问的地址;hermes-home 是三个容器共用的数据卷,所以无论从哪个界面登录,会话和配置都一致。
🚀 三步跑起来
- 启动:在项目目录直接敲,这条命令拉取缺失的镜像并在后台把三个容器全部启动,首次可能要几分钟,结束后你会看到每个容器对应的 Started 字样:
docker compose -f docker-compose.three-container.yml up -d访问聊天界面:浏览器打开
http://localhost:8787,你会看到左侧会话列表、中间聊天区、右侧工作区文件;若弹出登录页,说明你之前设过访问密码。看健康状态:再打开
http://localhost:9119,CPU、内存、磁盘占用一目了然,健康项正常即代表部署完成。
默认不够用?只动这几处
如果默认配置不满足你,只动这几个地方——都通过环境变量设置,compose 文件本身不用改:
| 你的场景 | 改哪里 | 怎么改 |
|---|---|---|
| 工作区文件想放别的目录 | HERMES_WORKSPACE | 启动前export HERMES_WORKSPACE=/你的目录(默认是${HOME}/workspace) |
| 文件操作 Permission denied | UID/GID | echo "UID=$(id -u)" >> .env(同理加 GID 一行),重启服务 |
| 聊天界面要开放给远程机器 | HERMES_WEBUI_PASSWORD | echo "HERMES_WEBUI_PASSWORD=强密码" >> .env,端口默认锁本机 |
踩坑速查 + 维护备忘
出问题先别慌,照表查。WebUI 自带日志页,但排查跨容器问题时,直接看容器日志更快:
| 现象 | 原因 | 一条命令搞定 |
|---|---|---|
| Permission denied 起不来 | 宿主机 UID/GID 与容器不一致 | echo "UID=$(id -u)" >> .env && docker compose -f docker-compose.three-container.yml up -d |
| 端口冲突 up 失败 | 8787 或 9119 被占用 | 改 compose 里的端口映射,或docker compose -f docker-compose.three-container.yml down释放 |
| WebUI 提示 agent 无响应 | 网关 8642 没起,API_SERVER_KEY未设 | 在.env写入至少 16 位的 key,再docker compose -f docker-compose.three-container.yml up -d |
| 升级到新版本 | hermes-agent-src卷缓存了旧镜像 | docker compose -f docker-compose.three-container.yml down && docker volume rm hermes-webui_hermes-agent-src && docker compose -f docker-compose.three-container.yml up -d |
| 备份会话与配置 | 重要数据都在hermes-home卷里 | docker run --rm -v hermes-webui_hermes-home:/source -v $(pwd):/backup alpine tar -czf /backup/hermes-backup.tar.gz -C /source . |
接下来可以做什么
- 想深入看容器内部细节和官方升级流程?→ docs/docker.md
- 想了解三个容器的分工与通信方式?→ ARCHITECTURE.md
- 想动手写自己的 Hermes Agent 配置教程、验证每个行为?→ tests/
【免费下载链接】hermes-webuiHermes WebUI: The best way to use Hermes Agent from the web or from your phone!项目地址: https://gitcode.com/GitHub_Trending/he/hermes-webui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考