Railway

Deploy hermes-all-in-one

Hermes Agent with WebUI and Control Plane

Deploy hermes-all-in-one

Just deployed

/data

Deploy and Host hermes-all-in-one on Railway

hermes-all-in-one packages Hermes Agent and Hermes WebUI into one Docker image: a browser chat UI at /, an admin control plane at /admin for providers and channels (no terminal required), and optional gateway autostart so Telegram, Discord, Slack, and the WebUI share one Hermes identity, config, and data directory.

About Hosting hermes-all-in-one

Hosting means running a single Railway service built from this repo’s Dockerfile. The build is multi-stage: it copies Hermes Agent and WebUI source from their official container images, installs Python dependencies with uv, then starts /app/start.sh, which launches the control plane. The public service exposes the control plane (including a reverse proxy to the internal WebUI). You should attach a persistent volume mounted at /data so HERMES_HOME, WebUI state, workspace, and credentials survive redeploys. Set strong passwords (HERMES_ADMIN_PASSWORD, HERMES_WEBUI_PASSWORD) and complete first-time setup at /admin (providers, optional channels) before relying on the chat UI at /. Health checks use GET /health.

Common Use Cases

  • Personal AI assistant — Chat in the browser with memory and tools, without running Hermes on your laptop.
  • Messaging + browser in one — Connect Telegram, Discord, or Slack from /admin and use the same agent and memory as the WebUI.
  • Low-ops team demo — Share one deployed instance with a small group using env-based auth and the admin panel for keys and gateway controls.

Dependencies for hermes-all-in-one Hosting

  • Persistent disk — Railway volume (or equivalent) mounted at /data for long-lived Hermes and WebUI state.
  • Container registry access at build time — The Docker build pulls nousresearch/hermes-agent and ghcr.io/nesquena/hermes-webui (see Dockerfile); the build environment must reach those registries.

Deployment Dependencies

Implementation Details

Railway reads railway.toml for the Docker build, start command, and health check:

[build]
builder = "DOCKERFILE"
dockerfilePath = "Dockerfile"

[deploy]
startCommand = "/app/start.sh"
healthcheckPath = "/health"
restartPolicyType = "ON_FAILURE"
restartPolicyMaxRetries = 10

To pin upstream versions, pass Docker build arguments HERMES_AGENT_VERSION and HERMES_WEBUI_VERSION (image tags used in the FROM … AS hermes_*_src stages). See .env.example for runtime variables such as HERMES_HOME, HERMES_WEBUI_PASSWORD, and HERMES_GATEWAY_AUTOSTART.

Why Deploy hermes-all-in-one on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying hermes-all-in-one on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Chat Chat
Chat Chat, your own unified chat and search to AI platform.

okisdev
View Template
Hermes Agent | OpenClaw Alternative with Dashboard
Self-improving AI agent with memory, skills, and web dashboard 🤖

codestorm
View Template
EchoDeck
Generate a mp4 from powerpoint with TTS

Fixed Scope