Hermes Docker Compose: Official Setup, Volumes, and When to Skip DIY (2026)

Hermes Docker Compose setup: official nousresearch/hermes-agent, \~/.hermes volume, dashboard :9119, or Agent 37 from $3.99/mo

Published on

•

Do not index
This image illustrates the setup of Hermes Docker Compose in 2026, highlighting the use of the official nousresearch/hermes-agent Docker image. It details key configuration points such as mounting the /.hermes volume to /opt/data, running the gateway service in supervised mode, and the option to skip YAML configuration using Agent 37. The visual schematic shows the containerized services including the gateway, redis cache, and postgres database linked to the hermes-agent container, emphasizing a managed service option starting at $3.99 per month. This setup is intended for streamlined deployment and management of Hermes applications using Docker Compose.
Hermes Docker Compose is the cleanest DIY way to run Hermes agent as an always-on gateway. Use the official nousresearch/hermes-agent image, mount host ~/.hermes to /opt/data, run gateway run with restart: unless-stopped, and optionally enable the dashboard on port 9119 with HERMES_DASHBOARD=1. You own Compose, image pins, TLS, and upgrades. For always-on Hermes without YAML babysitting, Agent 37 starts at $3.99/mo (1 vCPU, 4 GB RAM, 8 GB storage).

What is Hermes Docker Compose?

Hermes Docker Compose means declaring the Hermes agent runtime in a docker-compose.yml (or .yaml), then starting it with docker compose up -d on a Linux host or Docker Desktop. The container is disposable. Your agent brain lives on the host volume.
Piece
What it does
Image
nousresearch/hermes-agent:latest (or a pinned tag)
Command
gateway run (s6-supervised in the published image)
Volume
~/.hermes → /opt/data (config, keys, sessions, memory, skills)
Port 8642
OpenAI-compatible API / health (optional for chat-only channels)
Port 9119
Dashboard when HERMES_DASHBOARD=1
Official guide: Hermes Docker Setup. Desktop-shaped Remote Gateway path: Hermes Desktop Docker.
Do not confuse this with "Docker as a terminal backend," where Hermes runs on the host and only tool commands land in a sandbox container. This page is Hermes in Docker via Compose.

Why do people search hermes docker compose?

People search hermes docker compose when they want one YAML file, one-command updates (docker compose pull then up -d), and a rollback story that is just a previous image tag. Local hermes setup is fine for a laptop chat. Compose is the boring production shape for a VPS.
Common triggers:
  • Official docs showed a Compose example and they want the full path
  • They already run OpenClaw or other agents with Compose and want Hermes the same way
  • Channels die when the laptop sleeps
  • They need dashboard 9119 next to gateway 8642 without memorizing long docker run lines
If you only need Hermes online with isolation and a browser console, skip Compose. Managed path: deploy Hermes.

How do you set up Hermes Docker Compose?

This image provides a four-step tutorial on setting up Hermes using Docker Compose. It begins with running the Hermes setup wizard inside a Docker container, proceeds to writing a compose.yml file defining the Hermes service with ports, volumes, and environment variables, followed by authenticating on the Hermes dashboard at port 9119, and concludes with pulling and starting the Docker Compose services. The guide is designed to help users move efficiently from initial setup to running Hermes with Docker Compose in a containerized environment.
You set up Hermes Docker Compose in four moves: one-time wizard, write Compose, start detached, then lock down the dashboard.

1. One-time setup (create ~/.hermes)

Use SSH, not a broken browser VPS console that mangles : and @ on paste.
mkdir -p ~/.hermes
docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent setup
Keys and channel tokens land in ~/.hermes/.env. Run this once per data directory.

2. Minimal Compose (gateway + optional dashboard)

Official docs publish a Compose shape like this:
services:
  hermes:
    image: nousresearch/hermes-agent:latest
    container_name: hermes
    restart: unless-stopped
    command: gateway run
    ports:
      - "8642:8642"   # gateway API
      - "9119:9119"   # dashboard (only when HERMES_DASHBOARD=1)
    volumes:
      - ~/.hermes:/opt/data
    environment:
      - HERMES_DASHBOARD=1
    deploy:
      resources:
        limits:
          memory: 4G
          cpus: "2.0"
Start:
docker compose up -d
docker compose logs -f
Mount stays ~/.hermes:/opt/data. Do not mount over /opt/hermes (immutable app tree). Never point two gateway containers at the same data directory.

3. Auth before you expose :9119

In the published image, dashboard host often defaults to 0.0.0.0 so published ports work. Non-loopback binds require an auth provider. HERMES_DASHBOARD_INSECURE is a deprecated no-op after the June 2026 hardening.
Homelab / Tailscale shape: set HERMES_DASHBOARD_BASIC_AUTH_USERNAME + HERMES_DASHBOARD_BASIC_AUTH_PASSWORD (and a secret for stable sessions). Prefer Tailscale or an SSH tunnel over a naked public bind. OAuth / OIDC options are documented for public-facing deploys. Dashboard deep dive: Hermes agent dashboard.

4. Upgrade without losing state

docker compose pull
docker compose up -d
State survives because /opt/data is on the host. Pin a digest or release tag in production instead of floating forever on :latest.

Hermes Docker Compose vs managed isolation: which should you choose?

This image presents a comparison between managing Docker containers using Hermes Docker Compose versus the Agent 37 platform. It contrasts DIY Compose, where users own and manage the compose.yml file, typical VPS costs, public port authentication, and manual recovery responsibility, against Agent 37’s benefits such as no compose babysitting, starting from $3.99 per month, browser-based terminal access, and deployment in under five minutes. The image also includes a symbolic illustration of a stacked container system and a note highlighting Hermes's trust in Agent 37 for deployment while enabling users to focus on development.
Choose Compose when you already run Docker in production and will own patches. Choose managed when channels equal revenue and you do not want a YAML retainer.
Path
Price
Specs
Management
DIY Hermes Docker Compose
About $6 to $12/mo VPS
Comfortable 2 vCPU / 4 GB / 40 GB
You
Hermes Desktop + Docker backend
Same VPS + laptop
Gateway in Docker, UI on Desktop
You
Agent 37 Basic
$3.99/mo
1 vCPU, 4 GB RAM, 8 GB
Managed isolation
Agent 37 Pro
$29.99/mo
2 vCPU, 8 GB RAM, 20 GB, Chromium
Managed + browser
At $50/hour, one Compose incident exceeds a year of Basic ($47.88). Related: Hermes agent hosting.

What mistakes show up first on Hermes Docker Compose?

The first mistakes are wrong volume mounts, public dashboards without auth, and two containers fighting one ~/.hermes.
Operational tells:
  • Mounting the wrong path and wondering why memory vanished after recreate
  • Publishing 9119 to the internet with no auth provider
  • Running a second gateway against the same data directory
  • Treating :latest as a production pin with no rollback tag
  • Expecting laptop Docker Desktop to stay online with the lid closed
Tool-loop hard stops default off. For unattended gateways, enable them in config.yaml so a stuck loop cannot burn tokens forever. Official docs cover tool_loop_guardrails.hard_stop_enabled.

How much does Hermes Docker Compose cost?

This image displays the pricing tiers for Agent 37's hosting service for Hermes. It outlines four subscription plans: Basic at $3.99/month with 1 vCPU, 4 GB RAM, and 8 GB storage; Plus at $9.99/month including bundled free models, 4 GB RAM, and 12 GB storage; Pro at $29.99/month (most popular) featuring Chromium, 2 vCPU, 8 GB RAM, and 20 GB storage; and Max at $99.99/month with 4 vCPU, 16 GB RAM, and 40 GB storage. The image communicates transparent pricing with no YAML retainer and encourages skipping Compose in favor of hosting Hermes on Agent 37.
Software is free. The bill is VPS (or power), model tokens (BYOK), and your time.
Tier
Price
Specs
Typical use
DIY Compose on VPS
About $6 to $12/mo
2 vCPU / 4 GB class
Engineers who own Docker
Agent 37 Basic
$3.99/mo
1 vCPU, 4 GB, 8 GB
Lean always-on Hermes
Plus
$9.99/mo
1 vCPU, 4 GB, 12 GB
Bundled free models
Pro
$29.99/mo
2 vCPU, 8 GB, 20 GB, Chromium
Browser workloads
Max
$99.99/mo
4 vCPU, 16 GB, 40 GB
Teams
Flat monthly dashboard instance on Agent 37. BYOK. White-label API from $1.99 per agent per month, billed per minute. Start at Agent 37 pricing.

When should you skip Hermes Docker Compose?

Skip DIY Compose when you need per-client isolation for agencies, predictable uptime without SSH, or you will not staff Docker upgrades. That is the managed path.
Stay on Compose when you need custom networking, sidecars, or you already have Prometheus, Traefik, and a patch cadence. Sister Desktop path: Hermes Desktop Docker. Fast managed deploy: deploy Hermes.

Frequently Asked Questions

What is the official Hermes Docker Compose image?

nousresearch/hermes-agent (often tagged :latest). Mount ~/.hermes to /opt/data and run gateway run.

Do I need ports 8642 and 9119?

8642 is the API / health surface. Chat-only Telegram or Discord gateways often do not need it published. 9119 is the dashboard when HERMES_DASHBOARD=1. Do not confuse them with Desktop Remote Gateway wiring.

Can I use Docker Compose with Hermes Desktop?

Yes. Run Hermes in Compose with dashboard enabled, then point Desktop at a Remote Gateway on 9119. Full path: Hermes Desktop Docker.

How do I update Hermes on Docker Compose?

docker compose pull then docker compose up -d. Keep /opt/data mounted so state survives.

Is Hermes Docker Compose free?

The software is free. The VPS and tokens are not. Managed Hermes on Agent 37 starts at $3.99/mo.

When is Agent 37 better than Hermes Docker Compose?

When isolation, patches, and a browser console matter more than editing YAML. Basic at $3.99/mo is the usual switch.