NAS部署Hermes|Docker + Hermes-WebUI 部署教程
为什么要自建 Hermes?
把 Hermes 部署在 NAS 上,你的 NAS 就变成了一个 24 小时待命的私人 AI 服务:
24 小时在线:任何时间发消息都能收到回复,凌晨的定时任务也能正常执行
低功耗:一台 NAS 待机功耗不到 10W,比开着电脑跑 AI 省电太多了
数据本地化:OCR、向量存储、对话摘要这些操作全部在本地完成,敏感数据不经过第三方服务器
灵活扩展:可以通过 Docker 部署多个服务,连接更多平台
准备工作
1. 硬件准备
2. 软件准备
NAS 上安装好 Docker 和 Docker Compose
3. API Key
去各大模型官网注册一个账号,拿免费额度:
小米 MiMo(有免费 Token Plan)
阿里云 DashScope
硅基流动
智谱
MiniMax
百度千帆
选一个你喜欢的就行,后面在 Hermes 配置时会用到。
docker-compose 配置
在 NAS 存放 Docker 数据的目录下新建文件夹,比如 /docker/hermesopt,然后创建 docker-compose.yaml:

services:
hermesopt:
image: nousresearch/hermes-agent:latest
container_name: hermesopt
restart: unless-stopped
command: gateway run
environment:
- TZ=Asia/Shanghai
- UMASK=000
- API_SERVER_ENABLED=true
- API_SERVER_HOST=0.0.0.0
- API_SERVER_PORT=8642
- API_SERVER_KEY=你的API密钥
stdin_open: true
tty: true
volumes:
- ./opt/data:/opt/data
ports:
- "8642:8642"
deploy:
resources:
limits:
memory: 4G
cpus: "2.0"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8642/health"]
interval: 10s
timeout: 5s
retries: 5
hermes-webui:
image: ekkoye8888/hermes-web-ui:latest
container_name: hermes-webui
restart: unless-stopped
ports:
- "6060:6060"
environment:
- PORT=6060
- HERMES_HOME=/home/agent/.hermes
- HERMES_BIN=/opt/hermes/.venv/bin/hermes
- HERMES_WEB_UI_MANAGED_GATEWAY=1
- TZ=Asia/Shanghai
volumes:
- ./opt/data:/home/agent/.hermes
- ./hermes_webui_data:/home/agent/.hermes-web-ui
depends_on:
hermesopt:
condition: service_healthy
deploy:
resources:
limits:
memory: 512M
cpus: "0.5"
配置要点详解:
API 密钥 —
API_SERVER_KEY改成你自己生成的密钥,以后登录 Dashboard 会用到数据目录映射 —
./opt/data:/opt/data把容器的/opt/data(默认用户数据目录)映射到 NAS 本地。完整路径比如/volume1/docker/hermesopt/opt/data。这样容器重启后配置不会丢失hermes-webui 的关键配置 — 必须把 Hermes 的数据目录
./opt/data挂载到容器的/home/agent/.hermes,这是最容易被忽略的坑!很多人在这里栽跟头,WebUI 找不到 Hermes 就是这个原因内存分配 — Hermes 给 4G 内存和 2 个 CPU 核够用了,webui 512M 足够
端口 — 我把默认的 8000 改成了 8642,是为了避免和 NAS 上其他服务冲突
配置完成后,点"立即部署"。两个镜像都比较大,第一次部署会下载很久,耐心等待。
初始化 Hermes
部署成功后,转到 NAS 的容器管理界面,找到 hermesopt 容器,点"终端"或"SSH",进入 /bin/bash。
输入 hermes setup,开始初始化流程:
第一步:选择初始化方式
Quick Setup:跳转到官方网页授权,官方帮你配好一切,适合不想折腾的用户Full Setup:自己手动配置,我选这个
第二步:选择模型供应商
根据你之前注册的 API 选。我用的小米 MiMo,你就选你注册的那个。
第三步:输入 API Key
复制你拿到的 API Key,在终端里粘贴(鼠标右键粘贴)。
第四步:选择模型
选一个你需要的模型。我选的 mimo-v2.5,性价比不错。
第五步:终端后端(最关键的一步!)
这里一定要选 Keep current (local)!
为什么?因为容器内部已经是完整的 Linux 环境,Hermes 可以直接用 local 模式执行命令。如果你选 Docker,Hermes 会尝试去连接一个不存在的 Docker 环境,命令执行会失败。
终端后端选择截图:

第六步:选择通信终端
选飞书。飞书对 Hermes 的支持最完善,配置起来也最简单。
按提示完成飞书授权流程。
第七步:CLI 工具
建议全选。这些是 Hermes 的能力来源,默认的已经覆盖了大多数场景。
第八步:内置浏览器
选第一个无头浏览器,够用。Camofox 更完整但也更重。
第九步:AI 搜索
推荐选 Tavily,每月 1000 次免费额度,够个人用户用了。
去 Tavily 官网注册,拿 API Key,粘贴进来。
完成!
现在输入 hermes 可以直接对话测试,说句"你好"看看有没有回复。
或者直接关掉终端,去飞书发消息试试。
访问 Hermes WebUI
浏览器打开 http://你的NAS IP:6060,用默认账号 admin / 123456 登录。
第一次登录建议改掉默认密码。
WebUI 是个很全的控制台:
查看和管理对话
查看记忆和知识库
查看 API 用量统计
管理定时任务
配置模型和技能
比之前对着配置文件敲代码方便一百倍。
WebUI 界面:

常见问题
Q:WebUI 端口是 8648 吗?
A:不是!官方默认端口是 6060,我之前看日志里写着 8648 还以为端口是那个,白白折腾很久。
Q:WebUI 连不上 Hermes?
A:检查两点:
数据目录是否正确挂载到
/home/agent/.hermesHERMES_BIN环境变量是否指向正确的 Hermes CLI 路径
Q: Hermes 权限不够,写文件失败?
A:NAS 上的 Docker 通常以 root 运行时,创建的文件属于 root 用户,而 Hermes 容器内可能是另一个用户。解决办法:在 docker-compose 里加 UMASK=000
总结
部署难度:⭐⭐
资源消耗:4G 内存 + 2核 CPU
适合场景:自建 AI 服务、数据本地化、定时任务、跨平台接入
下篇文章聊 NAS 中Hermes 和 普通用户 的权限问题怎么处理,这是跑起来之后更重要的问题。

氧道
校验提示文案
木木木目夕心
校验提示文案
seamusic
校验提示文案
天蝎佐野
校验提示文案
值友6855085273
校验提示文案
天蝎佐野
校验提示文案
木木木目夕心
校验提示文案
氧道
校验提示文案
seamusic
校验提示文案
值友6855085273
校验提示文案