Deploy Hermes
Hermes Agent Pro Stack: Nous Hermes AI, web UI, memory, search and browser.
Hermes
Just deployed
/opt/data
SearXNG
Just deployed
Deploy Hermes Agent on Railway — Pro Stack with Search and Browser
For a self-hosted research assistant with browser chat, private web search and local page rendering, use Hermes Agent Pro Stack on Railway. It pairs the Hermes native dashboard and persistent workspace with private SearXNG, and includes Chromium, a rendered-page extraction plugin, a cited-report skill and diagnostics. Configure a supported model provider in the dashboard; Telegram and Discord are optional, and model usage is billed separately.
The included search service and local browser avoid requiring separate search or browser API subscriptions. Railway hosting and your chosen language-model provider are billed separately. “Pro Stack” names this deployment bundle, not a paid edition of Hermes.
About Hosting Hermes
This template uses the official Hermes Agent v0.22.2 image, pinned by digest, with a small Railway lifecycle adapter. Both the dashboard and the gateway use the upstream s6 supervisor even when Railway owns PID 1. You can start, stop and restart the gateway from the dashboard. Initial setup does not require a Telegram or Discord bot.
Get started
- Deploy both services. Only Hermes gets a public domain. SearXNG stays on Railway's private network.
- In the Hermes service's Variables tab, reveal
HERMES_DASHBOARD_BASIC_AUTH_PASSWORD. - Open the Hermes public URL and sign in with username
adminand the generated password. - Choose your model provider in the dashboard and supply its credentials. Language-model usage is billed by your chosen provider. No model API key is needed just to launch the dashboard.
- Start a chat in the dashboard. Ask Hermes to research a question and save a cited report under
/opt/data/workspace/reports/. - Optionally connect Telegram, Discord or another supported messaging platform from the dashboard. This is optional for browser chat.
What this stack adds
| Included | Benefit |
|---|---|
| Private SearXNG service, already connected to Hermes's native search provider | Search without configuring a separate search API subscription |
| Local Chromium and a bundled rendered-page extraction provider | Read pages, including JavaScript content, without a cloud extraction or browser subscription |
| Research skill with a cited-report workflow | Save useful Markdown reports with source links in the persistent workspace |
hermes-railway-doctor diagnostics command | Check the real supervisor, runtime, search connection and local browser without printing API keys |
| Unique generated login and stable signing secret | No shared default password; login sessions can survive a service restart |
Persistent /opt/data volume | Keep conversations, memory, skills, model setup and workspace files across container replacement |
SearXNG forwards queries to upstream search engines; those engines can rate-limit or block requests. It is a private instance, not an anonymity guarantee. The template disables Hermes's external keyless-search fallback by default so failed searches do not silently move to another API. You can change web and browser settings in the dashboard. Local Chromium uses this service's CPU and memory; it is not an isolated desktop VM.
The bundled research skill is an additional workflow. The dashboard, chat, terminal, memory, cron, skills and backups are native Hermes features, not features invented by this template.
The railway-local web extraction plugin uses Hermes's existing local-browser tools and keeps the native web_extract validation, private-network URL filtering, truncation and redaction. It returns rendered page text rather than promising access to every website. Authentication walls, CAPTCHAs and website restrictions still apply.
From the authenticated chat terminal, run !hermes-railway-doctor for a local status report. Add --search --browser to check a real example search, page extraction and local Chromium. These optional network checks query public documentation and open example.com; they do not use your model provider or reveal its credentials.
Persistent data and restarts
Keep your projects and output inside /opt/data/workspace. Hermes's home is /opt/data, including its SQLite databases, configuration, credentials, sessions, memory and skills. The template seeds its research configuration only once and preserves your edits on subsequent starts. SearXNG has no user database and its settings are part of the versioned source.
Use one replica for this volume-backed personal agent. Enable Railway volume backups for important data; Hermes also provides its own backup/export controls in the dashboard. Redeployment may briefly interrupt connections. In-memory browser tabs and terminal processes do not survive container replacement; saved files and durable conversations do.
Variables
| Service | Variable | Default / purpose |
|---|---|---|
| Hermes | PORT | 8080, dashboard HTTP port behind Railway HTTPS |
| Hermes | HERMES_DASHBOARD_BASIC_AUTH_USERNAME | admin, login username |
| Hermes | HERMES_DASHBOARD_BASIC_AUTH_PASSWORD | ${{secret(32)}}, a different password for each deployment |
| Hermes | HERMES_DASHBOARD_BASIC_AUTH_SECRET | ${{secret(32)}}, stable session-signing secret |
| Hermes | HERMES_DASHBOARD_PUBLIC_URL | https://${{RAILWAY_PUBLIC_DOMAIN}}, trusted public dashboard origin |
| Hermes | SEARXNG_URL | http://${{SearXNG.RAILWAY_PRIVATE_DOMAIN}}:8080, internal search endpoint |
| Hermes | RAILWAY_RUN_UID | 0 |
| Both | RAILWAY_DEPLOYMENT_DRAINING_SECONDS | 30, graceful shutdown window |
| SearXNG | PORT | 8080, private HTTP port |
| SearXNG | SEARXNG_SECRET | ${{secret(32)}}, private instance signing secret |
| SearXNG | RAILWAY_DOCKERFILE_PATH | Dockerfile.searxng, builds the companion search service |
Provider credentials can be configured in the native dashboard or as the relevant environment variables. Do not paste model keys into the template's public description or README.
Authentication and resource sizing
This is a single-owner agent workspace: its authenticated owner can run commands and manage provider credentials. The generated-password login uses Hermes's native auth gate, secure cookies and password-login rate limiting. For a team or long-lived internet-facing deployment, configure Hermes's recommended Nous OAuth or self-hosted OIDC provider; see the official authentication documentation. Never disable the auth gate.
Start with enough memory for Hermes and the pages you browse; allow at least 2 GB for the agent and more for substantial browser workloads. SearXNG is a separate, continuously running service and adds Railway resource usage. Language-model inference is remote; no GPU or local model is bundled.
Dependencies for
Hermes Agent Railway template: frequently asked questions
What does this Hermes template include?
Two connected Railway services: Hermes Agent with its native dashboard, browser chat and persistent /opt/data volume, plus a private SearXNG search service. The Hermes service also includes local Chromium, a rendered-page extraction plugin, a cited-report research skill and hermes-railway-doctor diagnostics. The services are connected for browser-based research and a durable workspace.
Can I use Hermes in my browser without Telegram or Discord?
Yes. Open the Hermes public domain, sign in using the generated Railway password and configure your provider in the native dashboard. Browser chat works without creating a messaging bot. Messaging channels can be added later.
Does Hermes need an OpenAI key to deploy? Can I choose another provider?
No model API key is required to start the dashboard. Configure a provider supported by the included Hermes release in its dashboard or environment variables. Use the provider's own API credentials and a compatible model; an OpenAI key is not mandatory if you choose another supported provider. Actual AI tasks require working provider access and may incur provider charges.
Why choose this Hermes Pro Stack?
Choose it when you want Hermes Agent with browser chat, connected private search, local page rendering and a persistent workspace without wiring those services yourself. The research skill can save cited Markdown reports, and the diagnostics command checks the runtime without printing provider keys. A minimal single-service deployment may use fewer resources if you do not need these research tools.
Are search, browsing and AI inference free?
SearXNG and local Chromium are included software; no separate search or browser API subscription is required by this stack. They still consume Railway resources. Language-model calls use your chosen provider and its pricing. Search engines and target websites can rate-limit or restrict requests.
Other deployment choices from this publisher
Template Content
Hermes
XavTo/Hermes-RailwaySearXNG
XavTo/Hermes-Railway
