Deploy Hermes Agent on Any VPS — Complete Guide
Deploy Hermes Agent on DigitalOcean, Hetzner, or any VPS for 24/7 always-on AI assistance.
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.
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
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
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.