Hermes Agent Docker配置集成了持久性存储、自动恢复功能,以及足够的资源来处理用户的任务。官方的Docker镜像将应用程序文件与可写的代理数据分离开来。持久性的数据卷能够在容器重启和镜像更新时保留配置、会话、内存和日志等数据。受监控的进程有助于在进程出现故障时使网关以及可选的仪表板服务能够继续运行。本文主要为大家介绍使用Docker安装配置Hermes Agent教程。
一、前提条件
将Hermes Agent运行在Docker容器中之前,请准备好以下所需资源:
主机要求:建议使用支持SSH访问的Ubuntu或Debian操作系统作为远程服务器。Docker Desktop支持在Windows或MacOS上进行本地测试。
系统资源需求:至少1GB的内存和1个CPU核心。建议配备2–4GB的内存和2个核心。用于浏览器自动化操作的系统至少需要2GB的内存。
Docker工具:安装Docker Engine和Docker Compose。主机用户需要具备执行Docker命令的权限。
认证信息:为支持的模型提供商准备认证细节。如果要将网关连接到Telegram、Discord或Slack,请添加相关的消息认证信息。
持久存储:创建一个主机文件夹,并将其绑定到/opt/data.这个数据卷上。通过这种方式,可以在容器重启的情况下保持配置、内存信息以及会话状态。
仪表板访问权限配置:当连接超出本地主机范围时,需进行身份验证配置。对于公共访问,建议使用通过反向代理传输的HTTPS协议。
请检查安装是否正确:
docker –version docker compose version
在运行Ubuntu或Debian服务器的环境中,需要在启动时启用Docker功能:
二、如何设置Hermes Agentsudo systemctl enable –now docker
Hermes Agent Docker配置使用了持久性存储、自动恢复功能,并且提供了私有的管理界面。官方的Docker镜像包含了所有依赖项,同时以非root用户的身份运行受监控的服务。而/opt/hermes安装树仍然属于root用户所有,且只能由该用户进行读写操作。
通过SSH以非root用户的身份运行服务器命令,同时具备Docker访问权限。此时,Docker Engine、Docker Compose和OpenSSL应该已经安装完毕。
1、准备存储空间和访问凭证
创建一个项目文件夹和持久化数据目录:
mkdir -p “$HOME/hermes” “$HOME/.hermes” cd “$HOME/hermes”
生成仪表盘的认证信息,并保存你的主机用户ID:
umask 077 cat > .env <<EOF HERMES_UID=$(id -u) HERMES_GID=$(id -g) HERMES_DATA_DIR=$HOME/.hermes HERMES_DASHBOARD_BASIC_AUTH_USERNAME=admin HERMES_DASHBOARD_BASIC_AUTH_PASSWORD=$(openssl rand -hex 24) HERMES_DASHBOARD_BASIC_AUTH_SECRET=$(openssl rand -hex 32) EOF chmod 600 .env
请妥善保管此文件。保存这些值可以确保Docker Compose在升级过程中继续使用相同的凭据和用户ID。
2、运行安装向导
使用这个Docker运行命令来配置Hermes代理:
docker run -it –rm \ -e HERMES_UID=”$(id -u)” \ -e HERMES_GID=”$(id -g)” \ -v “$HOME/.hermes:/opt/data” \ nousresearch/hermes-agent:latest setup
选择您所需的模型提供商并完成身份验证。如果您打算使用该网关,请配置一个消息通道。
赫尔墨斯将应用程序的认证信息保存在~/.hermes/.env.中。这与~/hermes/.env.中的compose设置是分开的。
3、创建Compose文件
请将以下内容保存为~/hermes/docker-compose.yml:
services: hermes: image: nousresearch/hermes-agent:latest container_name: hermes command: gateway run restart: unless-stopped env_file: – .env environment: HERMES_DASHBOARD: “1” volumes: – “${HERMES_DATA_DIR:?Set HERMES_DATA_DIR}:/opt/data” ports: – “127.0.0.1:9119:9119” shm_size: “1g” deploy: resources: limits: memory: 4G cpus: “2.0”
该绑定挂载操作将主机上的绝对路径映射到/opt/data.这个数据卷上。通过这种方式,可以在容器重新创建时保持配置、会话、内存和日志的完整性。
控制面板服务与受监管的网关协同运行。共享内存支持浏览器自动化操作。请根据主机资源的限制来调整相关资源限制。
保留默认的图片入口点,并忽略“init:true”选项,这样s6的监督树就能保持活跃状态。切勿在两个网关容器之间共享这个可写入的数据文件夹。
4、开始并验证Hermes模块的运行情况。
请执行以下命令,从~/hermes开始:
docker compose config –quiet docker compose up -d docker compose ps docker exec hermes hermes gateway status
查看最近的日志:
docker logs –tail 100 hermes
通过您配置的渠道发送一条测试消息,以确认代理是否能够响应。
相关推荐:
《如何在BlueHost VPS上全天候运行Hermes Agent》
《BlueHost VPS教程:如何连接Hermes Agent和n8n》
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)
微信扫码加好友进群
主机优惠码及时掌握
QQ群号:938255063
主机优惠发布与交流




