Deploy Hermes Agent on Any VPS — Complete Guide
Deploy Hermes Agent on a VPS, understand the hidden maintenance cost, and decide when FlyHermes is easier for dashboard, Telegram, Discord, memory, and browser/search agents.
Quick answer
Deploy Hermes Agent on a VPS when you want full control: provision a server, install Hermes, configure provider and gateway credentials, run it as a service, secure the dashboard, monitor logs, and back up ~/.hermes. If you mainly want an always-on Telegram/Discord agent with dashboard visibility and browser/search workflows, FlyHermes avoids the VPS, Docker, reverse-proxy, and restart burden.
Running Hermes on a VPS means your agent is always on — it works while you sleep, handles scheduled tasks, and stays connected to your channels 24/7 without draining your laptop battery.
Managed cloud · API costs included · Skill library · Cancel anytime
Before you start:
- ☑A VPS with at least 1GB RAM (DigitalOcean, Hetzner, Vultr — $5-6/month is sufficient without a local LLM)
- ☑SSH access to the server
- ☑The Hermes installer handles Node.js and Python automatically
- ☑For v0.16 remote backend and dashboard/admin surfaces, keep Web UI private and verify gateway delivery after every VPS restart
Steps
- 1
Choose a VPS provider
Any $5+/month VPS works — DigitalOcean, Hetzner, Vultr, or AWS Lightsail
- 2
SSH into your server
ssh root@your-server-ip and ensure Node.js 18+ is installed
- 3
Run the installer
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
- 4
Configure channels and API keys
Edit config.yaml with your Telegram/Discord tokens and model API keys
- 5
Set up process manager
Install PM2 with npm i -g pm2, then pm2 start hermes --name hermes-agent
- 6
Enable auto-restart
Run pm2 startup && pm2 save so Hermes survives server reboots
Pro Tips
- 💡Hetzner CX22 is a popular choice — cheap, fast EU datacenter, excellent uptime for around $4/month
- 💡Use PM2 ecosystem files to manage multiple Hermes profiles or agents from one config file
- 💡Set up a daily backup cron to copy ~/.hermes/ to S3 or rsync to another server — losing agent memory is painful
- 💡If Reddit-style setup pain sounds familiar — terminal prompts freezing, dashboard unreachable, Telegram not responding, or multiple bots sharing one server — compare the time cost against FlyHermes before hardening the VPS
- 💡If you enable the Hermes Agent dashboard / Web UI on a VPS, keep it behind HTTPS, auth, and firewall rules instead of exposing a raw admin port
- 💡The optional Web UI --tui browser Chat tab is useful for operators, but it increases the reason to keep the dashboard private because it exposes an interactive agent session.
- 💡If the real goal is dashboard visibility, Telegram/Discord uptime, or browser/mobile access without VPS upkeep, compare FlyHermes before expanding self-hosted infrastructure.
- 💡Use the Hermes dashboard/Web UI as a status checkpoint, but verify success with the real command, channel message, cron delivery, or deployed URL that matters.
- 💡Treat the dashboard port as an admin surface. Keep it on localhost or a private tunnel first; if you need public browser/mobile access without maintaining HTTPS/auth/gateway uptime, choose FlyHermes instead.
Troubleshooting
❌ Hermes stops running after SSH session closes
✅ You need a process manager. Install PM2: 'npm i -g pm2' then 'pm2 start hermes --name hermes-agent'. This keeps Hermes running after you disconnect.
❌ High memory usage after a few days
✅ This is usually the ChromaDB vector store growing. Set memory limits in PM2: 'pm2 start hermes --max-memory-restart 512M' to auto-restart if it exceeds 512MB.
❌ VPS firewall blocking Telegram webhooks
✅ Open port 8443 in your firewall: 'ufw allow 8443/tcp'. Alternatively use polling mode which doesn't require inbound connections.
❌ Dashboard or Telegram is unreachable after a VPS deploy
✅ Check the process manager, firewall, active Hermes profile, gateway status, and dashboard port before assuming the bot token is wrong. If you do not want to own this maintenance loop, use the pricing page to compare FlyHermes managed cloud against the VPS route.
FAQ
When does self-hosting Hermes stop being worth it?
Self-hosting stops being worth it when provider credits, uptime, Docker/VPS maintenance, gateway restarts, logs, backups, and security reviews cost more attention than the agent work itself. Keep self-hosting for control and custom infrastructure; use FlyHermes when managed uptime and mobile/channel access matter more.