All posts
Hermes AgentSelf-hostingAI agentsVPS

How to Host Hermes Agent 24/7: Install, VPS, or Managed

By YazPublished
Hermes Agent mark beside the statement install does not equal always on

A working hermes command is not a hosted agent. To run Hermes Agent around the clock you install it with the official installer or Docker image, move the gateway onto a machine that stays online, supervise the process, persist its state, control remote access, and test recovery. Managed hosting exists if you want those infrastructure duties moved to a provider.

This guide walks that full path. Commands and defaults below were rechecked against the official Hermes documentation on 2 August 2026. Hermes moves fast, so treat the official docs as canonical if anything here drifts.

Here is the finish line before you start. Hermes is continuously hosted when the machine stays available, the gateway comes back after a crash or reboot, its state survives restarts, remote access is controlled, and you can detect and recover from failure. Notice what is not on that list: running the installer once.

Hermes Agent mark beside the statement install does not equal always on

Installation gets Hermes ready. Everything after it is operations.

The eight steps between install and always on

Most install guides stop at the first box. The operating model is the whole chain:

Eight-step lifecycle from install through machine, supervision, persistence, safe access, health, backup, and a restore test

Each step depends on the ones before it. A backup you have never restored is a hope, not a recovery path.

Keep this sequence in mind. Every section below maps to one or two of these steps, and the acceptance checklist near the end turns them into a test you can actually run.

Choose one of four deployment paths

You have four realistic places to run a persistent Hermes gateway. None is universally best.

Path

Best for

You operate

Main limitation

Local desktop or laptop

Learning and interactive use

Device uptime and app lifecycle

Sleep, shutdown and network changes interrupt availability

Native install on a VPS

Full root control

OS, process manager, network, updates, backups

Highest recurring operator burden

Official Docker image on a VPS

Reproducible packaging and a supervised container

Host, Docker daemon, volumes, ports, backups

Container restart is not host recovery

Managed isolated VM

Persistent deployment without host operations

Models, channels, credentials, permissions, external actions

Recurring fee and less low-level control

Responsibility matrix for running Hermes locally, natively on a VPS, in Docker on a VPS, or on a managed isolated VM

Responsibility moves as you go from local to managed. Models, channels and permissions remain yours on every path.

The rest of this guide works for any of the four. Where a step only applies to self-managed paths, I say so.

Step one: install Hermes the official way

Install intent is real, so here is the short version. Do not copy old blog commands; use the current official path.

On Linux, macOS, WSL2 or Android Termux, the command-line installer is:

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

On native Windows, the installer runs in PowerShell. On macOS and Windows you can also use the Hermes Desktop app. Git is the main prerequisite; the installer handles Python, Node and the rest, and it can set up browser automation unless you pass --skip-browser.

After installation, run hermes setup to configure your model provider and channels, then hermes doctor. Doctor tells you exactly what is missing and how to fix it. When it runs clean, your install is verified.

That is where most tutorials end. It is also where hosting begins.

Step two: decide where the gateway lives

The gateway is the always-on process that connects Hermes to your messaging platforms and API. It can only be as available as the machine under it.

A laptop is a valid place to learn. It is not a host. Sleep closes your sessions, shutdown kills the gateway, and a network change can drop the machine off the internet without telling you.

A home server can work if you deliberately manage power, internet, remote access and backups. Most people underestimate the "deliberately" part. A residential connection changes address, a power cut does not send a warning, and the disk in a five-year-old mini PC has its own plans.

A VPS or cloud VM gives you an always-on machine with a public address. In exchange you now own the provider account, the OS, SSH, the firewall, storage and billing. That trade is the subject of the rest of this guide.

A managed VM moves the named infrastructure tasks to a provider. What exactly moves, and what stays with you, gets its own section near the end.

Step three: keep the gateway supervised

A process you started by hand stays up until the first time it doesn't. Supervision means something restarts the gateway when it crashes and after the machine reboots.

Before supervision comes connection. Run hermes gateway setup to link your messaging platforms, and confirm the gateway actually answers a message end to end. A supervised process that was never wired to a channel is uptime without a purpose.

On a native install, you own the supervision itself. The official docs cover the gateway lifecycle, and a common pattern is a systemd service that starts hermes gateway run on boot and restarts it on failure. Treat that as a tested example rather than an official requirement, and verify two things yourself: the gateway returns after you kill the process, and it returns after a full machine reboot. Test the reboot. A service that only survives a process kill has not proven the boot path.

The official Docker image gives you more of this out of the box. The documented pattern runs the container detached with a restart policy:

docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data nousresearch/hermes-agent gateway run

Inside the image, s6-overlay supervises the gateway and restarts it within a couple of seconds if the process crashes, without losing the container.

Understand the boundary. s6-overlay recovers a crashed process inside a live container. Docker's restart policy recovers a stopped container while the daemon is healthy. Neither one boots a dead host, repairs a corrupted disk, or pays an expired provider invoice.

Step four: persist the state that matters

Hermes keeps its mutable state in one directory, HERMES_HOME. That directory holds your configuration and credentials, sessions and memories, skills and profiles, logs, cron definitions, and the files your agent creates in its workspace. Lose it and you have a fresh install with your agent's name on it.

The Docker image mounts this state at /opt/data, which is why the -v ~/.hermes:/opt/data volume flag matters. With the mount, state survives container replacement. Without it, every docker run starts over.

Now the part people get wrong: a mounted volume is not a backup. A volume protects you from container replacement. It does nothing about accidental deletion, filesystem corruption, ransomware inside the machine, or a provider losing the disk. Those need copies that live off the machine, plus a restore you have actually tested. The backup and restore guide covers that boundary in detail.

Step five: expose access safely

Before you open any port, decide whether you need to. If you talk to Hermes through Telegram, Discord or another messaging channel, the gateway makes outbound connections and you may not need any public ingress at all.

When you do need remote access, know the defaults. The Hermes API server binds to 127.0.0.1 by default and requires an API key as a bearer token. It exposes /health as a cheap liveness probe and /health/detailed as an authenticated readiness check for monitoring. The optional dashboard has its own port and basic-auth or OAuth options, and the official docs say it is not suitable for direct public-internet exposure.

The docs are blunt about this for a reason: opening a port on an internet-facing machine is a security risk. Hermes can run terminal commands, so its API boundary is high impact. Prefer loopback plus an SSH tunnel or VPN. A tunnel gives you the dashboard and API on your own machine with no public listener at all, which removes the entire class of "did I configure the proxy auth correctly" questions. If you must use a reverse proxy, put authentication in front of it and keep CORS narrow. Never bind an unauthenticated gateway API to a public interface.

Step six: size the machine for the tools you enable

The official Docker guidance gives you a floor, not a promise: minimum 1 CPU core, 1 GB RAM and a 500 MB data volume; recommended 2 cores, 2 to 4 GB RAM and 2+ GB of volume that grows with sessions and skills. If you skip browser tools, 1 GB is workable. With browser automation active, allocate at least 2 GB.

Treat these as upstream image guidelines. Your real footprint depends on how many sessions run in parallel, what the agent stores, whether you use browser tools, and whether you run local inference. Watch actual usage for a week before you commit to a plan size anywhere.

One clarification to avoid confusion: those are upstream minimums for running Hermes yourself. Managed providers set their own floors. Mantlecore's current Hermes plans, for example, start at 2 vCPU and 4 GB RAM. Different layers, different numbers.

Step seven: run the acceptance checklist

This is the test that separates "installed" from "hosted." Run every item. Do not call the deployment persistent until all eleven pass.

  1. hermes doctor runs clean.
  2. The gateway starts on boot or under a supervisor.
  3. Your configured messaging channel or API completes one real request.
  4. Restarting the Hermes process preserves state.
  5. Rebooting the machine restores gateway availability.
  6. Credentials are scoped and absent from logs and public config.
  7. A health or readiness check is monitored.
  8. Disk usage and resource pressure have alerts or a review routine.
  9. Your update method and rollback path are written down.
  10. A backup exists off the machine and you have restored from it once.
  11. External actions are governed separately, because no restore can unsend a message or undo a payment.

Item 11 deserves a second read. Snapshots and backups recover machine state. They cannot reverse things your agent already did in the world. Keep permissions tight independent of your recovery story.

What a self-managed VPS really costs

The server invoice is the small part. The recurring work is the real price:

  • provider billing and capacity review
  • OS and package updates
  • SSH and firewall policy
  • Docker or process-manager maintenance
  • TLS and reverse proxy upkeep where required
  • monitoring and alert response
  • backup storage and restore tests
  • Hermes upgrades and compatibility checks

None of these is hard. All of them are forever. The failure that matters will not arrive during your Saturday maintenance window. It arrives when you are busy with something else, and the cost is the interruption plus the diagnosis plus the fix.

The honest comparison is not $6 VPS versus managed fee. It is whether you want this list to be your job.

What managed hosting removes, and what it does not

Here is the current split from the live Mantlecore Hermes page, rechecked on 2 August 2026. It is the only source for product claims in this article.

Area

Mantlecore handles

You control

Deployment

Provisioning the VM and the Hermes environment on it

Which agent and which plan you deploy

Isolation

One virtual machine per agent, each with its own guest kernel

What the agent is allowed to reach

HTTPS

Certificates and TLS for the agent endpoint

Which channels and integrations you connect

Storage

Persistent VM storage across stop, start and restart

The files and agent data created in the workspace

Backups

One off-site backup per day, retained 7 days on Starter and 30 days on larger plans

When to restore, and any recovery needed outside the VM

Snapshots

Automatic snapshot before any version change

Your own manual snapshots, 1 on Starter and 3 or 5 on larger plans

Updates

Verified versions, pre-update snapshot, automatic rollback if the post-update health check fails

When to apply an update

Three boundaries matter more than the list. Mantlecore operates the host; you still choose the model, the channels, the credentials and the permissions. A backup captures the machine, not the consequences of actions the agent already took. And managed hosting is a responsibility transfer, not a guarantee of uninterrupted service. Plans start at $19 per month with a seven-day trial.

So which path is yours?

Answer three questions:

  1. Do you want root control enough to own the host lifecycle?
  2. Do you need the agent reachable when your personal device is off?
  3. Have you built and tested supervision, safe access, monitoring, backup and restore?

Stay local while you are learning. Take a self-managed VPS when server operations are acceptable and control genuinely matters to you. Choose managed hosting when you want the agent online without the surrounding host lifecycle becoming your second job.

If you are still weighing frameworks rather than hosts, read the Hermes Agent vs OpenClaw comparison first. If you are deciding between containers and VMs at the architecture level, the Docker vs VM breakdown goes deeper on isolation boundaries.

Self-hosting Hermes is a legitimate choice, and this guide gives you everything you need to do it properly. If you read the checklist and the recurring-work list and decided you would rather spend that time on what your agent does, compare Mantlecore's managed Hermes hosting against the checklist above. One VM per agent, snapshots before every update, daily off-site backups. The host is our job. The agent is yours.

How to Host Hermes Agent 24/7: Install, VPS, or Managed — Mantlecore Blog