Files
hermes-web-ui/docker-compose.yml
T
Rivera Todd 13061f8880 fix(docker): resolve gateway startup failure in Docker container (#645)
Two issues prevented the gateway from starting in docker-compose:

1. gateway-manager used 'hermes-agent' as default host when running inside
   a container, causing startAll() to skip gateway startup (remote host
   guard) and proxy requests to an unreachable hostname. Changed to use
   GATEWAY_HOST env var with fallback to '127.0.0.1' so the webui container
   manages its own gateway via the shared hermes binary.

2. hermes refuses to run as root inside the official Docker image. The
   hermes-webui container overrides the entrypoint (bypassing the privilege-
   drop script), so the node process runs as root. Added
   HERMES_ALLOW_ROOT_GATEWAY=1 to docker-compose.yml to allow this.
2026-05-12 10:23:56 +08:00

44 lines
1.4 KiB
YAML

services:
hermes-agent:
image: ${HERMES_AGENT_IMAGE:-nousresearch/hermes-agent:latest}
container_name: ${HERMES_AGENT_CONTAINER_NAME:-hermes-agent}
volumes:
- ${HERMES_DATA_DIR:-./hermes_data}:/home/agent/.hermes
- hermes-agent-src:/opt/hermes
environment:
- HERMES_HOME=/home/agent/.hermes
stdin_open: true
tty: true
restart: unless-stopped
ports:
- "8642-8670:8642-8670"
hermes-webui:
build:
context: .
dockerfile: Dockerfile
args:
BASE_IMAGE: ${HERMES_AGENT_IMAGE:-nousresearch/hermes-agent:latest}
image: ${WEBUI_IMAGE:-hermes-web-ui-local:latest}
container_name: ${WEBUI_CONTAINER_NAME:-hermes-webui}
entrypoint: ["node", "dist/server/index.js"]
depends_on:
- hermes-agent
ports:
- "${PORT:-6060}:${PORT:-6060}"
volumes:
- ${HERMES_DATA_DIR:-./hermes_data}:/home/agent/.hermes
- ${HERMES_DATA_DIR:-./hermes_data}/hermes-web-ui:/home/agent/.hermes-web-ui
- hermes-agent-src:/opt/hermes
environment:
- PORT=${PORT:-6060}
- HERMES_HOME=/home/agent/.hermes
- HERMES_BIN=${HERMES_BIN:-/opt/hermes/.venv/bin/hermes}
- AUTH_DISABLED=${AUTH_DISABLED:-false}
- HERMES_ALLOW_ROOT_GATEWAY=${HERMES_ALLOW_ROOT_GATEWAY:-1}
- PATH=/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
restart: unless-stopped
volumes:
hermes-agent-src: