Run Hermes on a VPS (step-by-step)
Run Hermes Agent on a low-cost VPS: what server you need, what it costs, the official install commands, and how to keep it running after you log out.
By Nick
On this page
- About 20 minutes
- About $5 to $6 a month
- Intermediate
Before you start
Learn
What is a VPS?
Learn
What is an AI agent?
Running an AI agent on your laptop works right up until you close it. This guide moves it somewhere that never closes.
1. What is Hermes Agent?
Hermes Agent, usually just called Hermes, is an open-source AI agent from Nous Research. It can use tools, remember information and work automatically in the background. Running it on a VPS means it stays online 24/7, even when your computer is off.
You do not need a server just to try it. Hermes Agent has a desktop app for Apple Silicon Macs and for Windows, from the Hermes website. This guide is for when you want it running while your own computer is asleep.
If either “agent” or “VPS” is unfamiliar, read what is an AI agent and what is a VPS first. They are five minutes each and the rest of this makes much more sense afterwards.
2. What you’ll need
- A VPS running Ubuntu. The cheapest tier is enough. Hermes Agent’s docs test on the latest Ubuntu, and say most Linux systems with glibc and systemd work too.
- A terminal on your own computer. Mac and Linux have one built in; on Windows use PowerShell.
- An API key for whichever model you want the agent to use.
3. Set up your VPS
Create the server, choose Ubuntu, choose the smallest size, and pick a location near you. You will be given an IP address and login details.
Connect to it:
ssh root@YOUR_SERVER_IP
The first thing to do on any new server is update it:
apt update && apt upgrade -y
4. Install Hermes Agent
The script needs git, curl and tar. Ubuntu usually has all three; if not,
apt install -y git curl tar adds them. Then run Hermes Agent’s own install script, the one its docs give for Linux, macOS
and WSL2:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
It downloads everything Hermes Agent needs (its own Python and Node.js included), creates the
hermes command and, when you run it by hand like this, offers to walk you through setup.
When it finishes, reload your shell with source ~/.bashrc.
Read the script (open the URL in a browser, or run curl without the pipe to bash first)
before you run it on a server you care about. That is good practice for any installer, not
just this one.
Other official ways in, for reference: a native Windows installer run from PowerShell,
desktop apps for Apple Silicon Macs and Windows, and an official
Docker image. A Docker install
does not use hermes update; you update it by pulling a new image. The
installation docs
list all of them.
5. Connect it to a model
Hermes Agent’s documented quick setup is:
hermes setup --portal
This signs you in to Nous Portal, Nous Research’s paid subscription, sets it as the model
provider and switches on its tools, rather than pasting a raw API key into a config file. If
you would rather use an API key from another provider, run hermes model instead and pick it
there. On a VPS with no browser, that means opening the URL it gives you on your own laptop or
phone to finish the sign-in, then returning to the terminal. We have not run this step on a
live VPS ourselves yet, so treat the exact prompts as not yet verified on a live server:
follow what the command actually shows you over what is written here if the two disagree.
6. Keep it running after you disconnect
Closing your terminal normally stops whatever was running in it. The simplest fix, with no
Hermes-specific commands, is to start it inside a tmux session (a terminal that keeps running):
tmux new -s hermes
# run Hermes here
Press Ctrl+b then d to detach; the session and whatever is running inside it keep going.
Reattach any time with tmux attach -t hermes.
If you want it to survive a full server reboot as well, Hermes Agent’s docs now cover that.
Its gateway (the part that keeps running and answers you in a chat app such as Telegram or
Discord) installs itself as a service. Set up the chat app first with hermes gateway setup,
then, for a VPS that should come back on its own at boot:
sudo hermes gateway install --system
sudo hermes gateway start --system
sudo hermes gateway status --system
The docs recommend this system service for a VPS. These commands come from the docs and are not yet verified on a live server by us.
7. Configure memory
With the install script, Hermes Agent keeps its settings, memory and skills in a .hermes
folder in your home directory (~/.hermes/). A Docker install keeps them in whichever folder
you mount into the container. Wherever it lives, the same advice applies: keep it
small and specific. A memory full of everything is as useless as no memory at all, and it
costs more, because all of it gets sent to the model each time.
8. Test it works
Give it a small job with an obvious right answer, something you can verify in a second. If
that works, give it something slightly harder. Reattach to the tmux session to see its
output at any time.
9. Useful tips
- Set a spending limit on your model provider account before leaving it running. An agent in a loop is an expensive agent.
- Use a cheap model for the agent itself. Most of what a scheduled agent does is wake up, check whether anything needs doing and decide that it does not. That work does not need a clever model, it needs a cheap one. Keep the expensive models for the jobs that genuinely need thinking, and have the agent call out to them only then. You are the one deciding where that line sits, and putting it too low gives you an agent that is confidently wrong for a week before you notice.
- Give it the narrowest access that works. One folder, not your whole server.
- Check on it weekly at first. You will find out quickly whether it is doing anything useful or quietly failing.
- Write down what you changed. In three months you will not remember.
10. Next steps
Once it is running, the interesting question is what to give it. Start with one small, repetitive job you actually do, not the most impressive thing you can imagine. Boring and working beats ambitious and broken.
If you would rather have help setting this up for your own situation, that is what the work with me page is for.