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
- A VPS with Ubuntu 24.04 or Debian 12 (Hermes also supports macOS and WSL2, this guide is Linux-only)
- SSH access with sudo or root
- 4 GB RAM minimum if you bring your own model, 16 GB if you self-host the LLM
- 40 GB disk is plenty for the agent; the install itself is a few hundred megabytes
- A model endpoint (OpenAI API key, Anthropic API key, or a local Ollama install)
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:
- Installs
uv, Astralโs Python package manager, and a managed Python 3.11 - Pulls Node.js,
ripgrepandffmpeg, which the tool layer depends on - Unpacks Hermes into
~/.hermesand puts thehermesbinary 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:
- Slack gateway for team use
- Filesystem tool for document work
- Calendar integration for scheduling
- GitHub MCP for code-related queries
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.