Hermes Agent is an open source AI agent published by Nous Research: it runs continuously on a server, keeps persistent memory across conversations, and can connect to Telegram, Discord, Slack, WhatsApp or your email to receive instructions and act on them. Unlike a hosted chatbot service, nothing depends on a third party: everything runs inside a Docker container you fully control.
This guide follows the official installation procedure (the NousResearch/hermes-agent repository) on a Linux VPS. ElypseCloud does not preinstall Hermes Agent itself: we give you the exact commands published by the maintainers, and a VPS with Docker already in place to skip the most tedious part.
What Hermes Agent actually does
Once running, Hermes Agent exposes two things:
- An OpenAI-compatible API gateway, which routes your requests to the language model of your choice (Claude, GPT, or any of the 200+ models available through OpenRouter).
- A web dashboard to control the agent, review its actions, schedule recurring tasks (cron), and manage messaging connectors.
The API keys for the models you use stay yours and never pass through a third-party server: that is the main difference from a SaaS-hosted AI agent.
Prerequisites
- A Linux VPS with root access: 2 vCores and 4 GB of RAM are enough for everyday use, though the maintainers recommend more RAM if you enable the agent's browser automation tools.
- Docker installed and working. A VPS with Docker preinstalled skips this step entirely.
- SSH access, preferable over a browser-based console for typing the commands: some special characters (
:,@,=) don't survive certain hosting providers' web consoles. - At least one language model API key (Anthropic, OpenAI, or an OpenRouter-compatible endpoint).
Hermes Agent is a fast-moving third-party project. The commands below reflect the official documentation at the time of writing: check hermes-agent.nousresearch.com/docs before installing in production, since Docker images and environment variables occasionally change between versions.
Initial setup
Connect to your VPS over SSH, then run the official setup wizard. It creates the data directory and prompts you for your API keys:
mkdir -p ~/.hermes
docker run -it --rm \
-v ~/.hermes:/opt/data \
nousresearch/hermes-agent setup
Your answers are written to ~/.hermes/.env, on your own server: nothing is sent anywhere except the model providers you configure yourself.
Running the agent as a service
Once the setup is written, start the container as a persistent service, with automatic restarts and both required ports:
docker pull nousresearch/hermes-agent:latest
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
-p 8642:8642 \
-p 9119:9119 \
-e HERMES_DASHBOARD=1 \
nousresearch/hermes-agent gateway run
Port 8642 serves the OpenAI-compatible API gateway, port 9119 serves the web dashboard. To check it's running: docker logs -f hermes.
Accessing the dashboard safely
By default, exposing port 9119 on all interfaces without authentication is a bad idea on a VPS with a public IP. Two official options:
- Basic authentication, if the VPS stays on a network you control: add
-e HERMES_DASHBOARD_BASIC_AUTH_USERNAME=...and-e HERMES_DASHBOARD_BASIC_AUTH_PASSWORD=...when starting the container. - SSH tunnel, stricter: bind the dashboard to
127.0.0.1with-e HERMES_DASHBOARD_HOST=127.0.0.1, then open a tunnel from your machine withssh -L 9119:127.0.0.1:9119 user@your_vpsbefore visitinglocalhost:9119.
Connecting Telegram, Discord or email
Each messaging connector is enabled by an extra environment variable (for example TELEGRAM_BOT_TOKEN for Telegram), added either to the docker run command or directly in ~/.hermes/.env before restarting the container. The official documentation lists one variable per supported platform: check it at setup time, the list grows with every release.
Which VPS to pick for Hermes Agent
For individual use with one or two active connectors, an entry-level Linux VPS (2 vCores, 4 GB RAM) handles the load comfortably: the agent itself is lightweight, actual resource use mostly depends on how many tools and sub-agents run in parallel. If you'd rather start from a specific distribution than the default one, the Ubuntu VPS is the base best documented by the maintainers. Beyond several agents or a team setup running many automations in parallel, a dedicated server avoids sharing resources with other services.
If you'd rather not manage the VPS yourself
This installation stays entirely manual: ElypseCloud provides the VPS and, optionally, Docker already set up, but not ongoing updates or monitoring of the agent itself, nor management of your API keys. If self-hosting tools like this one is part of your regular workflow, it's worth starting with a VPS with Docker preconfigured from the start, rather than installing that layer by hand on every new server.