Dokploy

Hermes

Hermes is an open agent runtime from Nous Research, exposing an OpenAI-compatible gateway API and a supervised web dashboard for building and running AI agents.

Hermes logo

Configuration

version: "3.8"
services:
  hermes:
    image: nousresearch/hermes-agent:v2026.6.19
    restart: unless-stopped
    command: gateway run
    ports:
      - 9119
      - 8642
    environment:
      - HERMES_DASHBOARD=${HERMES_DASHBOARD}
      - HERMES_DASHBOARD_BASIC_AUTH_USERNAME=${HERMES_DASHBOARD_BASIC_AUTH_USERNAME}
      - HERMES_DASHBOARD_BASIC_AUTH_PASSWORD=${HERMES_DASHBOARD_BASIC_AUTH_PASSWORD}
      - HERMES_DASHBOARD_BASIC_AUTH_SECRET=${HERMES_DASHBOARD_BASIC_AUTH_SECRET}
      - API_SERVER_ENABLED=${API_SERVER_ENABLED}
      - API_SERVER_HOST=${API_SERVER_HOST}
      - API_SERVER_KEY=${API_SERVER_KEY}
    volumes:
      - hermes_data:/opt/data
    deploy:
      resources:
        limits:
          memory: 4G
          cpus: "2.0"

volumes:
  hermes_data:
[variables]
dashboard_domain = "${domain}"
gateway_domain = "${domain}"
# base64 (not just alphanumeric); 96 bytes -> 128 chars
dashboard_password = "${base64:96}"
dashboard_secret = "${base64:32}"
api_key = "${password:32}"

[config]
mounts = []

# Web dashboard (HERMES_DASHBOARD=1). Exposed behind Traefik, so Hermes'
# auth-gated mode kicks in — protect it with the bundled basic-auth provider.
[[config.domains]]
serviceName = "hermes"
port = 9119
host = "${dashboard_domain}"

# OpenAI-compatible gateway API. Disabled and loopback-bound by default,
# so it must be enabled, bound to 0.0.0.0, and given a bearer token.
[[config.domains]]
serviceName = "hermes"
port = 8642
host = "${gateway_domain}"

[config.env]
HERMES_DASHBOARD = "1"
HERMES_DASHBOARD_BASIC_AUTH_USERNAME = "admin"
HERMES_DASHBOARD_BASIC_AUTH_PASSWORD = "${dashboard_password}"
HERMES_DASHBOARD_BASIC_AUTH_SECRET = "${dashboard_secret}"
API_SERVER_ENABLED = "true"
API_SERVER_HOST = "0.0.0.0"
API_SERVER_KEY = "${api_key}"

Base64

To import this template in Dokploy: create a Compose service → AdvancedBase64 import and paste the content below:

ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcbnNlcnZpY2VzOlxuICBoZXJtZXM6XG4gICAgaW1hZ2U6IG5vdXNyZXNlYXJjaC9oZXJtZXMtYWdlbnQ6djIwMjYuNi4xOVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgY29tbWFuZDogZ2F0ZXdheSBydW5cbiAgICBwb3J0czpcbiAgICAgIC0gOTExOVxuICAgICAgLSA4NjQyXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIEhFUk1FU19EQVNIQk9BUkQ9JHtIRVJNRVNfREFTSEJPQVJEfVxuICAgICAgLSBIRVJNRVNfREFTSEJPQVJEX0JBU0lDX0FVVEhfVVNFUk5BTUU9JHtIRVJNRVNfREFTSEJPQVJEX0JBU0lDX0FVVEhfVVNFUk5BTUV9XG4gICAgICAtIEhFUk1FU19EQVNIQk9BUkRfQkFTSUNfQVVUSF9QQVNTV09SRD0ke0hFUk1FU19EQVNIQk9BUkRfQkFTSUNfQVVUSF9QQVNTV09SRH1cbiAgICAgIC0gSEVSTUVTX0RBU0hCT0FSRF9CQVNJQ19BVVRIX1NFQ1JFVD0ke0hFUk1FU19EQVNIQk9BUkRfQkFTSUNfQVVUSF9TRUNSRVR9XG4gICAgICAtIEFQSV9TRVJWRVJfRU5BQkxFRD0ke0FQSV9TRVJWRVJfRU5BQkxFRH1cbiAgICAgIC0gQVBJX1NFUlZFUl9IT1NUPSR7QVBJX1NFUlZFUl9IT1NUfVxuICAgICAgLSBBUElfU0VSVkVSX0tFWT0ke0FQSV9TRVJWRVJfS0VZfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGhlcm1lc19kYXRhOi9vcHQvZGF0YVxuICAgIGRlcGxveTpcbiAgICAgIHJlc291cmNlczpcbiAgICAgICAgbGltaXRzOlxuICAgICAgICAgIG1lbW9yeTogNEdcbiAgICAgICAgICBjcHVzOiBcIjIuMFwiXG5cbnZvbHVtZXM6XG4gIGhlcm1lc19kYXRhOlxuIiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5kYXNoYm9hcmRfZG9tYWluID0gXCIke2RvbWFpbn1cIlxuZ2F0ZXdheV9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG4jIGJhc2U2NCAobm90IGp1c3QgYWxwaGFudW1lcmljKTsgOTYgYnl0ZXMgLT4gMTI4IGNoYXJzXG5kYXNoYm9hcmRfcGFzc3dvcmQgPSBcIiR7YmFzZTY0Ojk2fVwiXG5kYXNoYm9hcmRfc2VjcmV0ID0gXCIke2Jhc2U2NDozMn1cIlxuYXBpX2tleSA9IFwiJHtwYXNzd29yZDozMn1cIlxuXG5bY29uZmlnXVxubW91bnRzID0gW11cblxuIyBXZWIgZGFzaGJvYXJkIChIRVJNRVNfREFTSEJPQVJEPTEpLiBFeHBvc2VkIGJlaGluZCBUcmFlZmlrLCBzbyBIZXJtZXMnXG4jIGF1dGgtZ2F0ZWQgbW9kZSBraWNrcyBpbiDigJQgcHJvdGVjdCBpdCB3aXRoIHRoZSBidW5kbGVkIGJhc2ljLWF1dGggcHJvdmlkZXIuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJoZXJtZXNcIlxucG9ydCA9IDkxMTlcbmhvc3QgPSBcIiR7ZGFzaGJvYXJkX2RvbWFpbn1cIlxuXG4jIE9wZW5BSS1jb21wYXRpYmxlIGdhdGV3YXkgQVBJLiBEaXNhYmxlZCBhbmQgbG9vcGJhY2stYm91bmQgYnkgZGVmYXVsdCxcbiMgc28gaXQgbXVzdCBiZSBlbmFibGVkLCBib3VuZCB0byAwLjAuMC4wLCBhbmQgZ2l2ZW4gYSBiZWFyZXIgdG9rZW4uXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJoZXJtZXNcIlxucG9ydCA9IDg2NDJcbmhvc3QgPSBcIiR7Z2F0ZXdheV9kb21haW59XCJcblxuW2NvbmZpZy5lbnZdXG5IRVJNRVNfREFTSEJPQVJEID0gXCIxXCJcbkhFUk1FU19EQVNIQk9BUkRfQkFTSUNfQVVUSF9VU0VSTkFNRSA9IFwiYWRtaW5cIlxuSEVSTUVTX0RBU0hCT0FSRF9CQVNJQ19BVVRIX1BBU1NXT1JEID0gXCIke2Rhc2hib2FyZF9wYXNzd29yZH1cIlxuSEVSTUVTX0RBU0hCT0FSRF9CQVNJQ19BVVRIX1NFQ1JFVCA9IFwiJHtkYXNoYm9hcmRfc2VjcmV0fVwiXG5BUElfU0VSVkVSX0VOQUJMRUQgPSBcInRydWVcIlxuQVBJX1NFUlZFUl9IT1NUID0gXCIwLjAuMC4wXCJcbkFQSV9TRVJWRVJfS0VZID0gXCIke2FwaV9rZXl9XCJcbiIKfQ==

Tags

ai, agent, llm, self-hosted


Version: v2026.6.19

On this page