praveen-ks-2001/hermes-agent-template
One-click Railway template for Hermes Agent. A web admin dashboard for provider/channel setup, gateway supervision, user pairing, and backup/restore, with the native Hermes UI proxied behind one login.
Hermes Agent – Railway Template
What it is – A ready‑to‑deploy Railway template that runs the open‑source Hermes Agent (an autonomous LLM‑powered AI assistant from Nous Research). The template adds a web‑based admin UI that lets you configure LLM providers, messaging channels (Telegram, Discord, Slack, …), tools, and manage the Hermes gateway without editing any config files.
Key capabilities
- One‑click deployment on Railway via the badge button.
- Admin dashboard (
/setup) for selecting an LLM provider, enabling channels, toggling tools, and controlling the gateway (start/stop/restart). - Integrated Hermes UI (
/) – the native Hermes web interface (chat, keys, skills, analytics, console) is proxied behind the same login. - User pairing – incoming messages generate pairing requests that you can approve/deny from the dashboard.
- Live status & logs – see gateway uptime, model, pending requests, and stream logs in‑browser.
- Backup & restore – snapshot the entire
/data/.hermesdirectory (config, credentials, chat history, skills) as a zip that can be downloaded for 6 hours. - Password‑protected admin access (cookie‑based login, default user
admin). - Persistent storage – attach a Railway volume at
/dataso configuration survives redeploys.
How to get started
- Obtain an LLM key – sign up at OpenRouter (or any other supported provider) and copy an API key.
- Create a Telegram bot – talk to @BotFather, run
/newbot, and copy the bot token. - Deploy – click the Deploy on Railway button, set
ADMIN_PASSWORD(or let the system generate one), and attach a volume mounted at/data. - Configure – open the app URL, log in (
admin/ your password), go to/setupand:- Choose the provider (e.g., OpenRouter) and paste the key/model.
- Enable Telegram and paste the bot token.
- Click Save & Start.
- Use – message the Telegram bot; the first message appears as a pairing request in the dashboard. Approve it and start chatting.
Supported providers & channels
- Providers – OpenRouter, Anthropic, Google AI Studio, xAI, DeepSeek, Qwen Cloud, GLM, Kimi, NVIDIA NIM, Fireworks AI, AWS Bedrock, Azure Foundry, Ollama Cloud, 9Router, OmniRoute, any OpenAI‑compatible endpoint, and many more.
- Channels – Telegram, Discord, Slack, WhatsApp, Email, Mattermost, Matrix.
- Tool integrations – web search (Parallel, Tavily, Perplexity, etc.), scraping (Firecrawl), image generation (FAL), browser automation (Browserbase), GitHub, voice (Whisper/TTS), memory (Honcho), and others.
Architecture at a glance
Railway container (port $PORT)
└─ server.py (Starlette + Uvicorn) – handles /login, /setup, /health, proxies / to the native Hermes UI
├─ hermes‑dashboard (listening on 127.0.0.1:9119) – only reachable via the proxy
└─ hermes‑gateway – the actual agent process that talks to Telegram/Discord/etc.
The gateway is supervised by server.py; if it crashes, it is automatically restarted.
Running locally
docker build -t hermes-agent .
docker run --rm -it -p 8080:8080 \
-e ADMIN_PASSWORD=changeme -v hermes-data:/data hermes-agent
Visit http://localhost:8080 and log in with admin / changeme.
Updating – The template pins a specific Hermes release via the HERMES_REF build argument (default v0.22.2). To upgrade, deploy a matching release/<version>/<n> branch or override HERMES_REF (the latter may break existing volumes). Always back up the /data volume before changing versions.
Who might use this – Developers or hobbyists who want a self‑hosted autonomous AI assistant with minimal ops effort, especially those who prefer Railway’s simple deployment model and a web UI for managing channels, tools, and user access.
Credits – Hermes Agent by Nous Research; UI inspired by the OpenClaw Railway admin template.
Related
- Project
- Project
- Project
- Project
- Project