【教程】在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
相关推荐
头茬韭菜7 小时前
第 1 篇:「Glass-Box 的骨架」——全景架构与六层数据流水线
架构·agent·semantica
生活爱好者!8 小时前
哇!影视新玩法!docker部署NEOWATCH NAS
运维·docker·容器
Csvn8 小时前
第 22 章 安全、合规与治理
人工智能·aigc·agent
怕浪猫8 小时前
长会话不崩盘:DeepSeek Harness 的上下文压缩与目标管理策略
面试·github·agent
DeepAgent10 小时前
AI Agent 开发实战(14):AI Agent 开发工具推荐
人工智能·agent
cpolar技术支持11 小时前
Docker 容器启动失败怎么查?端口、日志、权限与网络排障完整教程
linux·docker·容器·cpolar·网络排障
余槐i12 小时前
Firecrawl 实战:将网站转换为大模型可用数据
人工智能·python·工具·firecrawl
程序猿编码12 小时前
LLM+Agent 全栈推理底座:Triton 算子优化・语义级缓存・分布式调度
大模型·llm·agent·推理
Mininglamp_271812 小时前
MCP和A2A之后,机器人网络里还缺一层开放通信协议
人工智能·agent·多智能体·具身智能