Deploy Hermes Agent + WebUI
Hermes Agent with Hermes WebUI. Password protected, auto-updated.
Just deployed
/opt/data
Deploy and Host Hermes Agent + WebUI on Railway
Hermes Agent is the open-source, self-hosted AI agent from Nous Research. It keeps memory across sessions, writes its own skills, runs scheduled tasks and answers on Telegram, Discord, Slack and other messaging apps. Hermes WebUI is a browser interface for it with chat, sessions, a workspace file browser, memory, skills and settings, on desktop and phone.
About Hosting Hermes Agent + WebUI
This template runs Hermes Agent, Hermes WebUI and the Hermes gateway together in one service with one volume.
- The WebUI is the public page and is protected by a password that is generated for you.
- The agent runs inside the WebUI process, using the official Nous Research image.
- The gateway runs next to it, so scheduled tasks fire while you are away and messaging apps can reach the agent. Its API only listens inside the container.
First steps:
- Open the public URL and sign in with
HERMES_WEBUI_PASSWORDfrom the Variables tab. - Add a model key, either as a variable (for example
OPENROUTER_API_KEY) or in the WebUI under Settings → Providers. - Pick a model in the composer and start chatting.
Updates: the Hermes Agent and Hermes WebUI versions are pinned. A GitHub Action checks for new releases every day, builds and smoke-tests them, and only then updates the repo. Railway then shows an update notice in your project, and you choose when to apply it. Your data is kept.
Common Use Cases
- A personal AI assistant that remembers your projects and preferences, available from any browser or phone
- Scheduled jobs such as daily briefings, reports or checks that run while you are offline and report back on Telegram or another messaging app
- Research, coding and file work in a persistent workspace on an always-on server
- Trying different models and providers (OpenRouter, Anthropic, OpenAI, Nous Portal and more) from one interface
Dependencies for Hermes Agent + WebUI Hosting
- An API key for at least one model provider, for example OpenRouter, Anthropic, OpenAI or Nous Portal
- Optional: a Telegram bot token, or credentials for another messaging app
Deployment Dependencies
- Hermes Agent: https://github.com/NousResearch/hermes-agent
- Hermes WebUI: https://github.com/nesquena/hermes-webui
- Hermes documentation: https://hermes-agent.nousresearch.com/docs/
- This template's source: https://github.com/aimranov27/hermes-webui-railway
Implementation Details
All state lives on the volume at /opt/data (HERMES_HOME): config, keys saved from the WebUI, sessions, memory, skills, cron jobs, WebUI settings and the default workspace at /opt/data/workspace.
- The service will not start without
HERMES_WEBUI_PASSWORD, because an open WebUI would let anyone run commands on the server. - The WebUI and gateway run as an unprivileged user. Only port 8080 is public. The gateway API and the official Hermes dashboard are not exposed.
- A key saved in the WebUI takes priority over a Railway variable with the same name.
- Expect around 500 MB of memory at idle, since the WebUI and the gateway each load the agent.
- Telegram only answers the user IDs in
TELEGRAM_ALLOWED_USERS.
Why Deploy Hermes Agent + WebUI 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 Agent + WebUI 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
