SSD Nodes Learn Hosting plans →
How to do am Matt ConnorBy Matt Connor · Updated 2026-09-03

Hermes Agent fit run for $5 VPS? Na how to host am

Hermes no need GPU: model dey run for another place, so $5 VPS fit do. Use separate user, systemd ProtectSystem=strict, and UFW rules for IPv6.

Hermes Agent na wetin

Hermes Agent na self-hosted AI agent from Nous Research, wey dem release for February 2026. You go run am for your own server, and e go keep persistent memory of your projects, write reusable skills for itself as e dey work, and reach you through chat apps like Telegram and Discord. E no depend on one model, so you fit point am to any language model wey you prefer. E light enough to run for $5 VPS, inside Docker, or through SSH. For this setup, the model dey run somewhere else, while the loop, tools, and memory dey run for your own machine. Na this make Hermes agent harness instead of model, and na why small server fit handle am.

Like any agent, the value dey come from the work wey e fit do for you. But na also why you must set am up carefully. Agent wey dey remember, learn, and run tasks na process wey dey stay active and get real access to your server. This guide go install am the safe way. The hardening steps here na the same ones wey you go apply when you dey run OpenClaw safely.

One-command install, and why you suppose read am first

Hermes dey install with one command:

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

This one convenient, but e follow pattern wey deserve respect. If you pipe script straight from internet enter shell, shell go run everything wey dey inside that script with the permissions of the user wey run am. Before you run am for real server, download am first, read am, then run am as dedicated user instead of root:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.sh

This one no mean say you suppose distrust Hermes specially. Na habit wey dey stop any curl | bash install from quietly turning into the weakest link for your setup.

Give am its own user wey no get privilege

Run Hermes with its own system account, never as root, so bug or bad instruction no fit reach the rest of the machine. Create user wey no get login shell:

sudo useradd --system --home /opt/hermes --shell /usr/sbin/nologin hermes

Install Hermes under /opt/hermes and make that account be the owner. The official installer installs for whichever user run am, so run the script wey you download as the hermes user, for example sudo -u hermes bash hermes-install.sh, and the files go enter e home directory instead of your own. The reason na the same as running services as user wey no get privilege: the account wey agent run as na the limit of wetin e fit damage. The OS account na only half of the matter, because the agent own settings decide how much e go do without asking first. Na this be the question behind Claude Code permission modes when agent dey run for box wey you no dey sit in front of. If the box later need serve people apart from you, OneCLI dey carry this one-account-per-agent idea reach the whole team by giving everybody their own sandboxed agent, while model keys remain for one gateway wey nobody need copy around.

Firewall for the server and isolate its secrets

Hermes dey work by connecting to a model and the chat apps wey you connect, so e no need accept inbound connections from the internet. Put default-deny firewall in front of the server:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable

Watch the IPv6 firewall gap for here, because firewall rule set wey only cover IPv4 fit leave service exposed for IPv6. If agent really need reach something wey only dey your home network, like NAS or local database, advertising that network to your tailnet with a subnet router go carry am there through outbound connection instead of open inbound port. Keep the model API key and any chat tokens for file wey only the hermes user fit read (mode 600), and load am into the service instead of pasting am for command line, where e go enter your shell history. Secrets file like this na the same small, high-value target as the admin token behind self-hosted password manager, and the reasoning for the Vaultwarden hardening pass still apply: protect the one file wey unlock everything else, and protect its backups just as carefully. File permissions stop other users for the box, but dem no stop the provider underneath am, so if the keys wey your agent hold dey sensitive enough to change that calculation, encrypted memory and attestation na wetin decide whether your hosting company fit read dem from RAM.

Run Hermes as a hardened systemd service

systemd unit go keep Hermes running after you log out and after reboot. E go restart am if e crash. E also let you add kernel-level sandboxing wey limit wetin e fit touch. Turn on NoNewPrivileges, ProtectSystem=strict, PrivateTmp, and ProtectHome so any breach go remain contained.

Generate hardened unit for here, then copy am go /etc/systemd/system/hermes.service. The unit go start hermes gateway, wey be the long-running process wey dey connect your chat apps. Run hermes --help after installation to confirm say command and binary path match wetin your version use before you enable the service:

ToolGenerate a hardened systemd unit for the agent

The directives, plus the daemon-reload and enable --now steps, dey explained for run program as systemd service:

sudo systemctl daemon-reload
sudo systemctl enable --now hermes

For complete example of the same pattern on another agent, run dsh headless under systemd explain Restart rules better, including the journalctl commands wey you go need the first time the service die overnight. Better still, no wait reach morning before you discover am: an OnFailure= unit wey push the alert go your own ntfy server go send notification go your phone immediately Hermes stop trying to restart.

If you prefer make systemd supervise container instead of native installation, keep KiroCrew alive as pinned container go give you the same survives-reboot result while e keep the image version fixed.

Server harden around am

Finish by harden the front door. Move SSH go key-only authentication and disable root login, like dem explain for SSH hardening for VPS, so nobody fit guess the account wey you use manage the server. Agent wey dey keep persistent memory deserve protection, and the cheapest protection na to make sure nobody fit log in to the server wey e dey run on.

After you lock down the server itself, web search na the next capability wey plenty people dey add. Point the agent to your own SearXNG instance so the queries stay for your own server, but remember say e go feed the agent pages wey nobody don vet. Hermes rarely dey be the only agent for the server. If you dey run Claude Code there too, two sessions fit hand work to each other directly instead of making every handoff pass through you. If the next agent you add na one wey dey read your code instead of your chat apps, running open-kritt's security scans for the same server follow the same pattern: use pinned release, give am own account, and reach the web UI through SSH tunnel instead of open port.

If you prefer understand the machinery instead of running packaged agent, building your own AI agent on a VPS explain everything step by step. If the terms for that guide still dey new to you, a staged path for learning AI agents teach the loop, tools, memory, and safety in the order wey dem build on each other. That way, the choices Hermes dey make for you no go look like magic again.

FAQ

I fit run Hermes Agent for cheap VPS?

Yes. Dem design Hermes make e fit run for small server, and $5 VPS dey enough for personal agent wey dey always on. E dey connect to language model and your chat apps, instead make e serve heavy traffic, so e no dey use plenty resources. Give am im own user, firewall, and systemd service, then small VPS go handle am well. If you already get machine for house, first compare the hardware and power cost with that monthly fee, because home Proxmox box and rented VPS get different advantages.

One-line install script safe to run?

curl | bash install dey convenient, but the safe way na to download the script and read am before you run am. Run am as dedicated user instead of root. That way, piped installer from any project no fit do pass wetin that limited account allow. This no be something wey concern Hermes alone; na good practice for every install of this kind.

How I go run Hermes without root?

Create dedicated system user wey no get login shell. Install Hermes under directory wey that user own, like /opt/hermes, then run the service as that account. If attacker ever breach the agent, the damage go limited to wetin that one account fit reach.

How I go keep Hermes running after I log out?

Run am as systemd service. Unit file go start Hermes during boot, restart am if e crash, and keep am running after your SSH session end. systemd sandboxing options go also limit the things wey the process fit touch. Generate hardened unit with the tool above, then enable am with systemctl enable --now hermes.

Hermes Agent need GPU?

No. Hermes na agent runtime, e no be language model, so e go run well for small CPU-only VPS. The heavy computation dey happen wherever the model dey run. Most times, na hosted API wey you connect am to. If you also want self-host the model for the same box, choose machine size based on the model, not Hermes itself. For CPU-only model hosting, the numbers for Ollama guide apply.