【教程】在Docker中部署Hermes Agent

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

如果这是你第一次运行 Hermes Agent,请在主机上创建一个数据目录,并以交互方式启动容器以运行设置向导:

bash 复制代码
mkdir -p ~/.hermes
docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent setup

/opt/data 卷是 Hermes 所有状态的唯一数据源。它映射到主机上的 ~/.hermes/ 目录,并包含:

Path 内容
.env API 密钥和密钥
config.yaml 所有Hermes的配置
SOUL.md Agent个性/身份
sessions/ 对话历史
memories/ 持久内存存储
skills/ 已安装技能
cron/ 计划作业定义
hooks/ 事件钩子
logs/ 运行时日志
skins/ 自定义 CLI skins

切勿同时对同一数据目录运行两个 Hermes网关容器------会话文件和内存存储并非设计用于并发写入访问。与网关并行运行仪表盘容器是安全的,因为仪表盘仅读取数据。

这将引导你进入设置向导,该向导会提示你输入 API 密钥并将其写入 ~/.hermes/.env 文件。你只需执行此操作一次。强烈建议你此时为网关设置一个聊天系统。

配置完成后,将容器作为持久网关在后台运行。

创建 hermes目录,并在里面创建 docker-compose.yaml:

bash 复制代码
mkdir  -p  ~/hermes
cd  ~/hermes
vim  docker-compose.yaml

写入以下内容:

bash 复制代码
services:
  hermes:
    image: nousresearch/hermes-agent:latest
    container_name: hermes
    restart: unless-stopped
    command: gateway run
    ports:
      - "8642:8642"
    volumes:
      - ~/.hermes:/opt/data
    networks:
      - hermes-net
    deploy:
      resources:
        limits:
          memory: 4G
          cpus: "2.0"

  dashboard:
    image: nousresearch/hermes-agent:latest
    container_name: hermes-dashboard
    restart: unless-stopped
    command: dashboard --host 0.0.0.0
    ports:
      - "9119:9119"
    volumes:
      - ~/.hermes:/opt/data
    environment:
      - GATEWAY_HEALTH_URL=http://hermes:8642
    networks:
      - hermes-net
    depends_on:
      - hermes
    deploy:
      resources:
        limits:
          memory: 512M
          cpus: "0.5"

networks:
  hermes-net:
    driver: bridge
  • 如果不需要dashboard (比如只是Channel访问),可以把上面dashboard那部分给删了。
  • 端口 8642 暴露了网关的OpenAI 兼容 API 服务器和健康检查端点。如果你仅使用聊天平台(例如 Telegram、Discord 等),则此端口为可选;但如果你希望仪表盘或外部工具能够访问网关,则此端口为必需。在面向互联网的计算机上打开任何端口都存在安全风险。除非你了解这些风险,否则不应这样做。
Environment variable Description Default
GATEWAY_HEALTH_URL 网关 API 服务器的基本 URL,例如 http://gateway:8642 (未设置 --- 仅进行本地 PID 检查)
GATEWAY_HEALTH_TIMEOUT 健康探测超时时间(秒) 3
  • 如果没有 GATEWAY_HEALTH_URL ,仪表板将回退到本地进程检测------这仅在网关在同一容器或同一主机上运行时才有效

然后构建镜像:

bash 复制代码
docker compose down
docker compose up -d 

可以监控启动日志:

bash 复制代码
docker compose logs -f

要针对正在运行的数据目录打开交互式聊天会话:

bash 复制代码
docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent
相关推荐
苍煜15 小时前
K8s 核心资源详解(Pod/Deployment/Service 实战)
云原生·容器·kubernetes
江湖有缘15 小时前
容器化笔记:Memory应用在Docker环境下的部署与配置
笔记·docker·容器
狐狐生风15 小时前
LangGraph 工具调用集成
python·langchain·prompt·agent·langgraph
Chef_Chen15 小时前
Agent-自我反思机制
agent
雾岛心情15 小时前
小铭邮件工具箱(公司版本)实现EML转PST文件
工具·邮件·小铭邮件工具箱·o365
苍煜15 小时前
Docker Compose 多容器编排实战(系列第五篇:开发环境一键部署)
运维·docker·容器
古茗前端团队16 小时前
Agent Skills 原理及其在中后台页面中的实践
agent
sbjdhjd16 小时前
企业级 Docker 镜像仓库建设与运维规范
linux·运维·docker·云原生·容器·eureka·开源
一个处女座的程序猿16 小时前
MultiAgent之OpenClaw:QuantClaw的简介、安装和使用方法、案例应用之详细攻略
llm·openclaw·quantclaw
ChaITSimpleLove16 小时前
优化 WSL2 性能:为 Docker 和 K8s 定制高效内存配置指南
docker·容器·性能优化·kubernetes·wsl2·windows开发·pwsh