Skip to content
LiveStart building for free · CA$100 signup credit, up to CA$300 totalCA$1 verification payment credited back · Ends December 31, 2026
Get started for free →

HermesAgent

HermesAgent is a self-hosted AI agent runtime from Nous Research. It can keep persistent memory, use tools, create or import skills, run sessions, and connect to external model providers from your own ZCP instance.

ComponentVersion
HermesAgent2026.8.3
DockerLatest stable
Docker Compose pluginLatest stable
Ubuntu24.04 LTS

The image uses the pinned container image nousresearch/hermes-agent:v2026.8.3.

ResourceMinimumRecommended
vCPU12
RAM2 GB4 GB
Storage20 GB40 GB

HermesAgent uses external model providers by default. If you plan to run local models on the same VM, size the instance separately for those model workloads.

If deployment variable fields are available in your launch flow, use them there. Otherwise, provide the same values through user data that writes /etc/zmi/deploy.env, or configure them after first boot. Secrets are read from /etc/zmi/deploy.env and copied into a root-only runtime environment file.

VariableDescription
OPENROUTER_API_KEYOpenRouter provider API key
FIREWORKS_API_KEYFireworks provider API key
GOOGLE_API_KEYGoogle/Gemini provider API key
GEMINI_API_KEYGemini provider API key alias
VULTR_API_KEYVultr inference/API key
EXA_API_KEYExa search tool key
FIRECRAWL_API_KEYFirecrawl tool key
FAL_KEYfal.ai tool key
SLACK_BOT_TOKENSlack bot integration token
SLACK_APP_TOKENSlack Socket Mode token
TELEGRAM_BOT_TOKENTelegram bot token
API_SERVER_KEYGateway API key when gateway access is enabled
GATEWAY_ALLOW_ALL_USERSAllows gateway access for QA or trusted testing
ssh ubuntu@<your-vm-ip>

On first boot, HermesAgent creates its runtime directories, applies /etc/zmi/deploy.env if present, starts the Docker Compose stack, and writes setup notes. Track progress:

journalctl -u hermesagent-first-boot.service -f

The login message (MOTD) confirms when HermesAgent is ready.

cat /etc/hermesagent/info.txt
sudo cat /etc/hermesagent/credentials.txt

The credentials file is root-only because it may contain generated secrets and access details.

4. Open the dashboard through an SSH tunnel

Section titled “4. Open the dashboard through an SSH tunnel”

HermesAgent is intentionally localhost-only by default. Run this from your workstation:

ssh -L 9119:127.0.0.1:9119 ubuntu@<your-vm-ip>

Then open:

http://127.0.0.1:9119

HermesAgent runs as a Docker Compose stack in /opt/hermesagent.

# Check status
cd /opt/hermesagent && sudo docker compose ps
# Restart
cd /opt/hermesagent && sudo docker compose restart
# View logs
cd /opt/hermesagent && sudo docker compose logs -f

HermesAgent stores runtime data separately from the operating system where possible. If a blank data disk is attached before first boot, the image formats it, mounts it at /data, and stores app data under /data/hermesagent. Without a data disk, it falls back to /var/lib/hermesagent.

Data that can grow includes agent memory, session history, imported or generated skills, logs, tool outputs, cached results, and runtime state files.

UFW allows SSH only by default. The dashboard listens on 127.0.0.1:9119 and should be accessed through an SSH tunnel. Do not expose the dashboard or gateway directly to the internet unless you put it behind TLS and authentication.

Treat /opt/hermesagent/.env, /etc/hermesagent/credentials.txt, and the data directory as sensitive.

Last updated: