Skip to content
This page is being updated. Some details on it are out of date.

Run Hermes Agent on a virtual machine

Hermes Agent is an open-source AI agent made by Nous Research. It runs as a long-lived process on a server, and you talk to it from a terminal or from a messaging app such as Telegram or Discord. This guide puts it on a ProVM.

Hermes Agent is third-party software. Doprax provides the virtual machine (VM); the commands below are from Hermes’s own documentation.

  • A Doprax account with credit.
  • An account with a model provider that Hermes supports, for example an OpenRouter API key. Hermes does not contain a language model: it sends requests to the provider you choose. ProVM plans have no GPU, so plan for a hosted model.
  • Optional: a Telegram bot token, if you want to message the agent from your phone. You get one from @BotFather in Telegram.
  1. In the dashboard, open Virtual Machines, then Create Virtual Machine.
  2. Choose a provider: ProVM.
  3. Choose a location: the one closest to you.
  4. Choose a size: a plan with at least 2 vCPU and 4 GB of memory. See Plans and prices.
  5. Choose an image source: Ubuntu.
  6. Choose an access method: SSH Key (recommended), or Password (auto-generated). See SSH keys.
  7. Enter a name and select Create Virtual Machine.

Create your first virtual machine describes each step.

Terminal window
ssh root@YOUR_VM_IP

The installer needs git and curl. Install them, then run the installer:

Terminal window
apt update && apt install -y git curl
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

The installer downloads Hermes and everything it needs into ~/.hermes/, and puts the hermes command in ~/.local/bin/. When it has finished, reload your shell so that the command is found:

Terminal window
source ~/.bashrc
Terminal window
hermes setup

The wizard asks which model provider to use and for its credentials. For OpenRouter you paste an API key.

To change the model later without running the whole wizard again:

Terminal window
hermes model
Terminal window
hermes

This opens the interactive chat in your terminal. Send a short message first to confirm that the model answers. Then ask for something that needs a tool, for example “run uptime and tell me the result”, to confirm that the agent can run commands on the VM.

  1. Set up the platform:

    Terminal window
    hermes gateway setup

    The wizard asks which platform to add and for its credentials, such as the Telegram bot token.

  2. Run the gateway once in the foreground and send your bot a message:

    Terminal window
    hermes gateway

    Stop it with Ctrl+C when you have seen it answer.

  3. Install the gateway as a system service, so that it runs after you log out and starts again when the VM reboots:

    Terminal window
    hermes gateway install --system
    hermes gateway start --system

    Hermes’s documentation writes these two commands with sudo. You are logged in as root, so it is not needed.

  4. Check it:

    Terminal window
    hermes gateway status --system
    journalctl -u hermes-gateway -f

For Telegram and Discord, the gateway connects out to the service. It does not need any port opened towards your VM.

The Doprax dashboard has no firewall setting. On a ProVM every port can be reached from the internet, so any program on the VM that listens on a port is public. If you add something with a web interface later, protect it with a password, or limit who can reach it with a firewall inside the VM, such as ufw.

To check the installation, the configuration, the provider and the tools:

Terminal window
hermes doctor

To update Hermes to the latest version:

Terminal window
hermes update
  • Everything Hermes remembers, including its configuration and the skills it writes, is in ~/.hermes/ on the VM. Deleting or rebuilding the VM removes it. Take a snapshot first if you want to keep it.
  • The model provider charges you for the requests the agent makes. That cost is separate from the VM’s price.

From the earlier documentation, first published on 25 May 2026. Being corrected against the product.