Independent testing Updated August 2026 387 self-hosting guides 5 VPS providers tested

tutorial

How to Self-Host Hermes Agent on a VPS: 4 GB, or 16 GB for a Local LLM

Install Nous Research's Hermes Agent on your own VPS. 4 GB is enough with a hosted model, 16 GB if you run the LLM yourself, plus messaging gateways, systemd and backups.

Hermes Agent makes a lot of unusual claims for an open-source project: it remembers everything, it writes its own skills, it actually self-improves. After three weeks of running it on a Hetzner CX23, the claims hold up. Here is the install path that actually works in 2026, with the gotchas the official docs glide over.

What You Need Before Starting

The VPS sizing depends on whether you self-host the model. See the best VPS for Hermes Agent guide for the realistic shortlist. For this tutorial I assume the bring-your-own-model setup, which is what 80% of users actually do.

Step 1: Provision the VPS

SSH into a fresh Hetzner CX23 or equivalent and update the package index:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ufw

Set up a basic firewall before exposing anything to the internet:

sudo ufw allow ssh
sudo ufw allow 443/tcp
sudo ufw enable

Skip port 80 unless you plan to run a public web UI. Every messaging gateway Hermes ships, Telegram through Signal, uses outbound connections only and needs no inbound ports open.

Step 2: Run the Hermes Install Script

The official one-liner from the Nous Research repo:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Run it as your normal login user, never as root. It is a user-level installer, and here is what it actually does:

  1. Installs uv, Astralโ€™s Python package manager, and a managed Python 3.11
  2. Pulls Node.js, ripgrep and ffmpeg, which the tool layer depends on
  3. Unpacks Hermes into ~/.hermes and puts the hermes binary on your PATH

Nothing lands in /opt, no system user is created, and no service is registered. That last point matters on a VPS and we fix it in Step 6.

Reload your shell so the new PATH takes effect:

source ~/.bashrc

Step 3: Pick a Model Provider

Run the setup wizard:

hermes setup

It walks you through the model provider and the tools you want enabled. Bring your own key for OpenAI, Anthropic, or OpenRouter, the last of which is the pragmatic choice on a VPS because one key reaches 200+ models including open-weight ones. If you would rather not juggle separate keys for search, image generation and TTS, hermes setup --portal logs you into Nous Portal over OAuth and wires all of them to one subscription.

To change your mind later, hermes model swaps the provider and hermes tools toggles individual tools. Confirm the install is healthy with:

hermes doctor

Then start a conversation to check it end to end:

hermes

If the model call fails here, it is almost always the API key or a provider URL typo. hermes doctor names the failing component rather than making you read logs.

Step 4: Add a Messaging Gateway

The gateway is what makes a VPS install worth it: the agent keeps working while your laptop is closed. Telegram is the easiest first channel. Create a bot through @BotFather and keep the token handy, then:

hermes gateway setup

The wizard asks which platforms to enable and prompts for the token. Hermes drives Telegram, Discord, Slack, WhatsApp, Signal, Email and Home Assistant from this one process, so add every channel you want now rather than repeating the setup later.

Lock the bot down to your own account during setup. A Telegram bot is publicly reachable by anyone who finds its handle, and an open bot spends your model credits for strangers. Get your own user ID from @userinfobot.

Start it:

hermes gateway start

Send your bot a message. The first reply is slower because the agent loads context.

Step 5: Watch It Write a Skill

Ask Hermes something non-trivial. A good first test: โ€œSearch GitHub for the trending Python repositories this week and summarize the top three.โ€

After a complex task the agent writes a reusable skill for itself. List what it has:

ls ~/.hermes/skills/

Or from inside a conversation, /skills. The next time you ask something similar it runs the stored procedure instead of reasoning from scratch, and the skill keeps getting refined as it is used. Skills follow the agentskills.io open standard, so they are portable rather than trapped in this install.

Separately, Hermes indexes past conversations with SQLite FTS5, which is what lets it answer โ€œwhat did I tell you about the staging database last monthโ€ without you re-explaining.

Step 6: Keep It Running After You Log Out

This is the step every quickstart skips, and the reason people think their VPS install is broken. hermes gateway start dies when your SSH session ends. Two commands fix it permanently.

First, allow your userโ€™s services to run without an active login:

sudo loginctl enable-linger $USER

Then create a systemd user unit at ~/.config/systemd/user/hermes-gateway.service:

[Unit]
Description=Hermes Agent messaging gateway
After=network-online.target

[Service]
ExecStart=%h/.local/bin/hermes gateway start
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

Enable and start it:

systemctl --user daemon-reload
systemctl --user enable --now hermes-gateway

Check on it with systemctl --user status hermes-gateway and read its output with journalctl --user -u hermes-gateway -n 50. Confirm the ExecStart path matches where the installer put the binary, which which hermes will tell you.

Now the gateway survives both logout and reboot.

Step 7: Set Up Automatic Backups

Everything irreplaceable lives in ~/.hermes: your skills, your config, and the conversation index. Back it up regularly:

sudo crontab -e

Add:

0 3 * * * tar -czf /backup/hermes-$(date +\%Y\%m\%d).tar.gz -C $HOME .hermes && find /backup -name "hermes-*.tar.gz" -mtime +14 -delete

This creates daily backups at 3 AM and keeps 14 days. Adjust the destination to wherever you store backups (S3, Backblaze, a separate disk).

What Comes Next

The first week is mostly about adding channels and watching the skill library fill up. The payoff arrives once your recurring tasks have skills behind them, because the agent stops re-deriving the same procedure every time and the token cost of a repeat task drops accordingly.

Two commands worth knowing early: hermes update pulls the latest version, and hermes claw migrate imports settings, memories, skills and API keys if you are arriving from OpenClaw.

Some integrations worth adding next:

For the broader picture of where Hermes fits in the agent ecosystem, see the best VPS for Hermes Agent comparison. For other AI agent setups, check the SelfHostVPS guides.

Frequently asked questions

How long does the Hermes Agent installation actually take?

The single-command install takes 8 to 12 minutes on a fresh Ubuntu 24.04 VPS, most of it spent pulling Python 3.11, Node.js, ripgrep and ffmpeg, which the installer provisions for you. Picking a model provider with hermes setup adds a couple of minutes, and the first messaging gateway another five for the bot token. From cold VPS to working agent: about 20 minutes.

Do I need root access on the VPS to install Hermes Agent?

No. The installer is user-level: it writes to ~/.hermes and puts the hermes binary on your PATH, so run it as an ordinary user and never as root. You only need sudo for two optional things on a VPS, opening firewall ports and running loginctl enable-linger so the gateway keeps running after you log out of SSH. Installing as root is the single most common way people end up with a Hermes they cannot cleanly update.

Can I install Hermes Agent on shared hosting or only on a VPS?

VPS only. Hermes needs persistent background processes for the messaging gateways, SQLite file access, and the ability to bind ports for the optional web UI. Shared hosting blocks all three. The cheapest 5 EUR VPS from Hetzner or Contabo handles Hermes fine; shared hosting will not install it at all.

What happens if the VPS reboots? Does Hermes restart automatically?

Not on its own. The installer does not register a service, so a reboot leaves you with nothing running until you start the gateway again. Step 6 below sets up a systemd user unit plus lingering, which fixes that in about two minutes. Your data survives regardless: skills, config and conversation history all live in ~/.hermes and are untouched by a reboot.