Skip to content

Docker Deployment

  • Reproducible — Same environment everywhere
  • Isolated — No conflicts with system packages
  • Easy — One command to start
  • Scalable — Run multiple instances easily
Terminal window
docker pull nousresearch/hermes-agent:latest
docker run -it \
-v ~/.hermes:/root/.hermes \
-p 8080:8080 \
nousresearch/hermes-agent:latest

Create a 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

Start:

Terminal window
docker compose up -d
Terminal window
# Pin to a specific version
docker pull nousresearch/hermes-agent:v0.13.0
# Or in docker-compose.yml
image: nousresearch/hermes-agent:v0.13.0

Mount the ~/.hermes directory to persist your data:

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

⚠️ Important: Do not mount the same data directory to multiple running containers simultaneously.

VariableDefaultDescription
HERMES_CONFIG/root/.hermes/config.yamlConfig file path
TZUTCTimezone
HERMES_LOG_LEVELINFOLog level
Terminal window
docker exec hermes-agent hermes doctor