跳转到内容

Docker 部署

  • 环境一致 — 在任何地方运行都是相同的环境
  • 隔离运行 — 不会与系统包产生冲突
  • 部署简单 — 一条命令即可启动
  • 易于扩展 — 轻松运行多个实例
Terminal window
docker pull nousresearch/hermes-agent:latest
docker run -it \
-v ~/.hermes:/root/.hermes \
-p 8080:8080 \
nousresearch/hermes-agent:latest

创建 docker-compose.yml 文件:

version: '3.8'
services:
hermes-agent:
image: nousresearch/hermes-agent:latest
container_name: hermes-agent
restart: unless-stopped
volumes:
- ./hermes-data:/root/.hermes
ports:
- "8080:8080"
environment:
- TZ=Asia/Shanghai

启动服务:

Terminal window
docker compose up -d

:::tip 推荐使用 Docker Compose Docker Compose 让配置更清晰、更易于版本管理。生产环境建议始终使用 Compose 方式部署。 :::

Terminal window
# 拉取指定版本
docker pull nousresearch/hermes-agent:v0.13.0
# 或在 docker-compose.yml 中指定
# image: nousresearch/hermes-agent:v0.13.0

挂载 ~/.hermes 目录以持久化你的数据:

Terminal window
docker run -it \
-v /path/to/hermes-data:/root/.hermes \
nousresearch/hermes-agent:latest

:::caution 重要提示 不要将同一数据目录同时挂载到多个运行中的容器。多个实例写入同一目录会导致数据损坏。 :::

变量默认值说明
HERMES_CONFIG/root/.hermes/config.yaml配置文件路径
TZUTC时区设置
HERMES_LOG_LEVELINFO日志级别

docker-compose.yml 中添加资源限制:

services:
hermes-agent:
# ... 其他配置
deploy:
resources:
limits:
cpus: '2.0'
memory: 4G
reservations:
memory: 2G
services:
hermes-agent:
# ... 其他配置
read_only: true
tmpfs:
- /tmp
services:
hermes-agent:
# ... 其他配置
security_opt:
- no-new-privileges:true
挂载路径用途必需
/root/.hermes主配置、记忆、技能、会话✅ 是
/root/.hermes/skills自定义技能目录
/root/.hermes/memory持久记忆数据
Terminal window
# 使用 hermes doctor
docker exec hermes-agent hermes doctor
# 检查容器状态
docker ps --filter name=hermes-agent
# 查看日志
docker logs -f hermes-agent
Terminal window
# 停止服务
docker compose down
# 重启服务
docker compose restart
# 更新到最新版
docker compose pull && docker compose up -d
# 进入容器 Shell
docker exec -it hermes-agent bash