
Deploy hermes-agent-railway
Deploy a secure, persistent Hermes Agent from the official image
hermes-agent
Just deployed
/opt/data
Deploy and Host Hermes Agent on Railway
A one-click Railway template for Hermes Agent.
About Hosting Hermes Agent
Hermes is a self-hosted AI agent with a web dashboard, messaging integrations, skills, memory, and persistent sessions. This template deploys the pinned official Nous Research image directly. The repository contains reproducible Railway infrastructure, not a fork of Hermes.
Why Deploy Hermes Agent on Railway?
- Official
nousresearch/hermes-agentimage pinned to a release and digest - Hermes gateway and dashboard managed by the upstream s6 supervision tree
- 50 GB persistent volume mounted at
/opt/data - Railway HTTPS domain routed to dashboard port
9119 /api/statusdeployment health check- Native Hermes basic authentication
Railway supplies the HTTPS endpoint, durable storage, health-aware deployments, and restart handling without maintaining a server or a custom container image.
Common Use Cases
- Run a persistent personal AI agent from a browser
- Connect one agent to supported messaging platforms
- Keep Hermes memory, skills, sessions, and configuration between deployments
- Evaluate Hermes without installing its runtime on a local machine
Dependencies for Hermes Agent Hosting
- A Railway account
- Credentials for a model provider supported by Hermes
Deployment Dependencies
The template uses the official Hermes container image and a Railway persistent volume. It does not provision a database or require a custom build.
Deploy
Click Deploy on Railway above and provide these variables:
| Variable | Value |
|---|---|
PORT | 9119 |
HERMES_DASHBOARD | 1 |
HERMES_GATEWAY_BOOTSTRAP_STATE | running |
HERMES_DASHBOARD_BASIC_AUTH_USERNAME | Your dashboard username, such as admin |
HERMES_DASHBOARD_BASIC_AUTH_PASSWORD | A long, unique password |
HERMES_DASHBOARD_BASIC_AUTH_SECRET | A random signing secret; generate one with openssl rand -hex 32 |
After Railway reports a successful deployment, open the generated domain, sign in, and configure your model provider and messaging integrations in the Hermes dashboard.
Basic auth is convenient for a personal deployment. For a broader internet-facing deployment, configure Hermes dashboard OAuth or OIDC after the first deploy.
Persistent state
Hermes stores configuration, secrets, sessions, memories, skills, logs, and per-profile tool state under /opt/data. The attached Railway volume preserves that data across deployments and restarts.
Do not mount a volume over /opt/hermes; that path contains the immutable application installation.
Maintain the template
Railway infrastructure is defined in .railway/railway.ts. Install the pinned Railway IaC SDK, review the plan, then apply it:
npm ci
npm run railway:plan
npm run railway:apply
Hermes itself is pinned by both release and image digest. To upgrade it, update the image reference in .railway/railway.ts, review the upstream release notes, run the plan, and verify /api/status after deployment.
The Railway template metadata can be updated with the Railway CLI:
railway templates publish hermes-agent-railw-1 \
--category AI/ML \
--description "Deploy a secure, persistent Hermes Agent from the official image" \
--readme-file README.md
Run the pinned image locally
Copy the image reference from .railway/railway.ts, then run:
IMAGE='nousresearch/hermes-agent:vYYYY.M.D@sha256:IMAGE_DIGEST'
docker run --rm "$IMAGE" version
For a persistent local gateway, follow the official Hermes Docker guide.
Template Content
hermes-agent
nousresearch/hermes-agent:v2026.7.7.2PORT
HERMES_DASHBOARD
HERMES_GATEWAY_BOOTSTRAP_STATE
HERMES_DASHBOARD_BASIC_AUTH_SECRET
HERMES_DASHBOARD_BASIC_AUTH_PASSWORD
HERMES_DASHBOARD_BASIC_AUTH_USERNAME
