Hermes Agent

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.

Deploy Hermes faster with FlyHermes

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. 1

    Choose a VPS provider

    Any $5+/month VPS works — DigitalOcean, Hetzner, Vultr, or AWS Lightsail

  2. 2

    SSH into your server

    ssh root@your-server-ip and ensure Node.js 18+ is installed

  3. 3

    Run the installer

    curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

  4. 4

    Configure channels and API keys

    Edit config.yaml with your Telegram/Discord tokens and model API keys

  5. 5

    Set up process manager

    Install PM2 with npm i -g pm2, then pm2 start hermes --name hermes-agent

  6. 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.

Related setup and cost guides

Related Guides