Self-host Hermes Agent on a Cube
Run Hermes Agent on a Krova Cube — the open-source AI agent from Nous Research with persistent memory and self-created skills, reachable 24/7 from Telegram, Discord and more.
Hermes Agent is an open-source AI agent from Nous Research (MIT licensed, verified 2026-09-13) that runs on your own server, remembers what it has learned across sessions, and reaches you in Telegram, Discord, Slack, WhatsApp, Signal, email and the CLI. It is built to run continuously, and a Cube is a good fit for exactly that. Paid hosted tiers (Plus / Super / Ultra) live on the Nous Portal — the open-source build on a Cube is free and uses your own model provider.
The install is one command. The part worth reading carefully is Step 4 — Hermes Agent accepts a local LLM through Ollama or a paid API, and the choice changes the Cube size you need.
Before you start
Hermes Agent ships an installer that provisions the runtime and writes its own configuration. The assistant itself is small; the heavy resource is the LLM that powers it.
- A Cube of 2 vCPU, 4 GB RAM, 40 GB disk — about $0.0140/hour, roughly $0.34/day or $10/month if left running. Comfortable for the agent plus a small local model.
- If you want to run a capable local model (around 7B parameters), plan on 8 GB RAM and 8 GB of disk for the model weights alone, in addition to the agent. The Cube size for that is 4 vCPU, 16 GB RAM, 100 GB disk.
- An SSH key pair, as with any Cube.
- An API key from an AI provider — or a local Ollama install if you would rather skip the paid API.
Step 1 — Create the Cube
Create a Cube with the Ubuntu 24.04 image. Hermes Agent runs on Linux; Ubuntu 24.04 is the image Krova validates against.
Size it at 2 vCPU / 4 GB / 40 GB if you are pointing Hermes Agent at a paid AI provider, or 4 vCPU / 16 GB / 100 GB if you want to run a local 7B model through Ollama on the same Cube.
Step 2 — Connect over SSH
ssh ubuntu@<cube-host> -p <port>Step 3 — Run the installer
Hermes Agent publishes a single install script. Fetch it, look at it, then run it:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.sh
bash hermes-install.shThe installer provisions the runtime, then starts the agent in the foreground. You will see logs scroll by; leave the shell open and Hermes Agent is now running. Detach with tmux or screen if you want to close the window without stopping it. The Hermes project also publishes desktop apps (macOS DMG and Windows EXE) from the official downloads page — neither is the right pick on a Cube, but worth knowing the option exists if you ever want a local control surface.
Step 4 — Pick the model backend
Hermes Agent accepts several backends. The two reasonable choices on a Cube are the same shape as the OpenClaw guide.
Paid API
Point Hermes Agent at OpenAI, Anthropic, or any compatible provider. Edit ~/.hermes/config.yaml and set the provider section. Billing is on the provider, not Krova.
Local Ollama on the same Cube
For a no-per-message bill, install Ollama on the same Cube and point Hermes Agent at it. Ollama exposes an OpenAI-compatible API on http://localhost:11434:
curl -fsSL https://ollama.com/install.sh | shPull a model — llama3.1:8b is a good first choice on 16 GB of RAM:
ollama pull llama3.1:8bSet Hermes Agent's backend to openai-compatible, the base URL to http://localhost:11434, and the model name to what you just pulled. Everything from there is local.
Step 5 — Connect a chat app
Hermes Agent's messaging gateway accepts Telegram, Discord, Slack, WhatsApp, Signal and email. The CLI is always available without any setup — hermes on the Cube opens a direct prompt in the terminal.
For Telegram, the typical flow is to create a bot through @BotFather on Telegram, paste the HTTP API token it gives you into ~/.hermes/config.yaml, and restart the agent. Messages sent to the bot from your account are answered within a few seconds, and the agent's memory persists across sessions — that is the feature the project is named for.
The Discord, Slack, WhatsApp and Signal flows follow the same shape: create an app or bot on the platform, paste the token, restart. If you get stuck, the Nous Research Discord is the most active place to ask, and the project README on the official site lists the latest supported channels.
Step 6 — Leave it running
Hermes Agent is built to run continuously. A Cube bills by the minute, so leaving it on is fine, but you probably want the agent to survive the SSH session ending. The two common paths:
- Run it under
tmuxorscreenso closing the SSH window does not stop it. - Install it as a
systemdservice so the Cube manages restarts after reboots and crashes.
Either path keeps the agent reachable from your chat apps 24/7 without you holding an SSH session open.
What it costs
The 2 vCPU / 4 GB / 40 GB Cube described here bills at about $0.0140/hour — roughly $0.34/day, or $10/month if left running. Usage is metered by the minute.
On top of that, either an AI provider bill (paid per message) or the local Ollama path. Ollama is free to run; the only cost is the larger Cube to fit the model weights in RAM. The paid Nous Portal tiers (Plus / Super / Ultra) only apply if you also use hosted Nous models — the open-source build on a Cube does not touch them.
Unlike a typical desktop tool, Hermes Agent is meant to stay on. If you do power the Cube off, the agent stops responding and you are billed only for storage while it is stopped.
Cleaning up
Deleting the Cube removes Hermes Agent, every chat-app bridge, and any local model weights along with the disk. If the agent's persistent memory or any conversation history matters, snapshot the Cube first.
Next steps
- Self-host OpenClaw on a Cube — the same shape, with broader chat-app support.
- Custom domains — if you want a webhook URL on your own domain.
- Cubes — resizing, snapshots, and how billing works when a Cube is stopped.
