If you are running Hermes on your laptop, you have already seen what it can do. The problem is that a laptop is not built for persistence. It goes to sleep, switches networks, runs out of battery and closes SSH sessions. The moment you want Hermes to remember context across days, respond to Telegram messages while you are offline, or run scheduled automations overnight, a local install becomes the bottleneck.
This guide walks through moving Hermes to a VPS — from the first SSH connection to a hardened, persistent deployment that survives reboots and handles real traffic. We cover Ubuntu and Debian, model provider setup, gateway configuration for messaging platforms, service management with systemd, and the security basics you should not skip.
What Is Hermes and Why Host It on a VPS?
Hermes is an open-source persistent AI agent built by Nous Research. Unlike a stateless chat interface, Hermes is designed to live on a machine, accumulate context over time, connect to messaging platforms through a gateway layer, and develop reusable skills. It is closer to an always-on digital coworker than a one-off prompt tool.
That architecture makes a VPS the natural home for Hermes once you move past experimentation. On a server it gets:
- Persistent memory that survives disconnections and reboots.
- Fixed networking so Telegram, Discord and Slack webhooks always know where to find it.
- Scheduled execution for automations and background tasks.
- Clean process isolation from your personal files, browser and desktop environment.
A laptop can demo Hermes. A VPS can host it. The difference becomes obvious the first time you message your bot and it answers five minutes later because your MacBook was closed.
Prerequisites and Pre-Deployment Checklist
Before you SSH in, make sure you have the following ready:
- A VPS running Ubuntu 22.04+ or Debian 12+ with root or sudo SSH access.
- A Hermes-compatible model provider account — Nous Portal, OpenRouter, OpenAI, Anthropic or another supported option.
- A clear idea of how you will use Hermes: direct CLI over SSH, gateway mode for messaging, or both.
- Platform credentials if you plan to connect Telegram, Discord, Slack or similar channels.
- Basic server hygiene: SSH keys configured, firewall enabled and an update plan for the OS and Hermes itself.
If you are missing the provider account, set that up first. Hermes without a model provider is like a phone without a SIM — the hardware works, but nothing gets through.
Ubuntu vs Debian: Which Should You Pick?
Both distributions run Hermes flawlessly. The choice is less about compatibility and more about your operational preference.
Pick Ubuntu 22.04+ if you want:
- A well-documented baseline with the largest pool of public tutorials.
- Familiarity — most developer tooling examples assume Ubuntu.
- Slightly fresher packages and a predictable release cycle.
Pick Debian 12+ if you want:
- A leaner, more conservative base with minimal pre-installed noise.
- Long-term stability over cutting-edge package versions.
- A server that stays out of your way and just runs services quietly.
In practice, either works. We have tested the Hermes installer on both without issues. The more important decision is whether you commit to regular updates, proper user management and firewall rules — habits that matter more than the distro logo.
Step 1 — Install Hermes on Your VPS
The official installer is a single curl command. Connect to your VPS and run the following:
ssh root@your.server.ip
# Download and run the Hermes installer
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# Reload shell environment so hermes is available
source ~/.bashrc
# Launch interactive setup
hermes setup
# Start Hermes in interactive CLI mode
hermes
What happens under the hood: the installer pulls the Hermes runtime, sets up shell integration and places the binary on your PATH. hermes setup then walks you through provider selection, API key entry and basic preferences.
Common gotcha: if the installer completes but hermes returns "command not found", your shell has not reloaded its environment. Run source ~/.bashrc (or source ~/.zshrc if you use Zsh) and try again.
Step 2 — Configure Your Model Provider
Hermes is the runtime. The model provider is the brain. Without a working provider, Hermes will start but will not be able to respond intelligently.
Run the setup flow and model selector:
hermes model
Pick one provider and one model to start. OpenRouter is a popular choice because it gives you access to multiple model families through a single API key. Nous Portal is the native option if you want tight integration with the Hermes ecosystem. OpenAI and Anthropic work well too.
Resist the urge to configure five providers on day one. Get one working end-to-end first. Once you can send a message and receive a coherent response through Hermes on your VPS, then you can experiment with fallbacks and routing logic.
Step 3 — Set Up Gateway Mode for Messaging Bots
This is where a VPS deployment starts to justify itself. Gateway mode turns Hermes into a bot that listens on Telegram, Discord, Slack or other supported channels — all from one persistent server process.
Run the gateway configuration and service installer:
hermes gateway setup
# Start the gateway manually to test
hermes gateway
# Install as a persistent systemd service
hermes gateway install
hermes gateway setup asks for your platform tokens. Have them ready before you start. hermes gateway launches the adapter layer in the foreground so you can watch logs and confirm connections. Once everything looks healthy, hermes gateway install registers it as a system service.
Good use-case fit: gateway mode is the right choice when Hermes needs to be reachable outside your terminal — team bots, personal assistants that stay online, or any workflow where other people (or other systems) send messages in and expect answers back.
Step 4 — Keep Hermes Running 24/7
A manual SSH session dies when you disconnect. That is fine for testing, but unacceptable for production use. You need process supervision.
The hermes gateway install command from the previous step creates a systemd service on most Linux distributions. Verify it is active:
sudo systemctl enable hermes-gateway
The enable command ensures the service starts automatically after a reboot. To confirm your persistence layer actually works, do a real test: reboot the VPS, reconnect via SSH, and check that the service is running without you touching it.
# After reconnecting:
sudo systemctl status hermes-gateway
If the status shows active (running), your Hermes deployment is now truly persistent. If not, check the logs with journalctl -u hermes-gateway and work backwards from the error.
Step 5 — Secure the VPS Before Going Public
Once Hermes is connected to external channels, your VPS is no longer a private sandbox. Treat it like a production system.
SSH hardening:
- Disable password-based root login. Use SSH keys exclusively.
- Move SSH off port 22 if you want to reduce log noise, or use fail2ban.
- Create a non-root user for day-to-day Hermes management and use sudo when needed.
Firewall and surface area:
- Only open ports your deployment actually needs. For many Hermes setups, that is just SSH (22) and possibly HTTPS (443) if you add a web interface later.
- Use UFW or iptables to enforce this. Do not rely on cloud-provider security groups alone.
Updates and isolation:
- Enable unattended security updates for the OS.
- Plan a regular cadence to update Hermes itself — the project moves fast.
- For sensitive workloads, consider running Hermes inside a container or on a dedicated non-root account with limited filesystem access.
Security is not a finishing touch. It is part of the foundation. Lock the server down before your bot tokens, API keys and conversation history become reachable from the open internet.
VPS Sizing Guide by Use Case
Hermes is not resource-hungry by default, but channel integrations, logs and background work all add up. Use this table as a starting point.
| Use case | Starting spec | What it handles |
|---|---|---|
| Single-user CLI only | 1 vCPU / 2 GB RAM | Testing, SSH access, light personal use |
| One persistent bot channel | 1-2 vCPU / 2-4 GB RAM | Always-on gateway with one Telegram or Discord integration |
| Multi-channel Hermes | 2 vCPU / 4 GB RAM | Several connected services with logs and uptime margin |
| Heavy tool or automation use | 2-4 vCPU / 4-8 GB RAM | Large tool suites, scheduled jobs and service-style deployment |
Use SSD or NVMe storage wherever possible. Hermes does not need terabytes, but fast disks make log rotation, updates and tool output far more pleasant to manage.
Common Setup Problems and Fixes
Most Hermes VPS issues are straightforward once you know where to look.
| Symptom | What it usually means | First thing to check |
|---|---|---|
hermes: command not found |
Shell environment has not reloaded | Run source ~/.bashrc and retry |
| Hermes starts but gives no answers | Provider not fully configured | Run hermes setup and verify API key and model |
| Gateway works once, dies after reboot | No persistent service installed | Run hermes gateway install and test reboot |
| Bot is online but unresponsive | Incomplete channel or provider config | Recheck hermes gateway setup and provider settings |
| VPS slows down under load | Server sized for testing, not workloads | Review RAM usage, swap and running process count |
When in doubt, start with the simplest explanation. A missing setup step is more likely than a fundamental server problem.
FAQ
Do I need a VPS to use Hermes?
No. Local installation is perfectly fine for personal experimentation. A VPS becomes worthwhile when you care about uptime, persistent memory, messaging integrations or unattended automations.
What is the best OS for a Hermes VPS?
Ubuntu 22.04+ or Debian 12+. Ubuntu is easier if you want community examples and fresher packages. Debian is leaner and more stable for long-running services.
How much RAM does Hermes need on a VPS?
2 GB is enough for CLI-only use. Plan for 2-4 GB with one gateway channel, and 4-8 GB for multi-channel or tool-heavy deployments.
Can Hermes run on a cheap VPS?
Yes, for light use. The smallest tier on most cloud providers can handle single-user CLI access. Just do not expect a $5 instance to juggle five channels, heavy tool use and large context windows simultaneously.
What is the quickest way to install Hermes on a VPS?
The official one-liner: curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash, then source ~/.bashrc, hermes setup and hermes.
Can I run Hermes as a Telegram or Discord bot from a VPS?
Yes. Use hermes gateway setup to connect your platform, then hermes gateway install to persist it as a service.
Why is a VPS better than my laptop for Hermes?
A laptop sleeps, disconnects and gets shut down. A VPS gives Hermes fixed networking, stable power and continuous uptime — the baseline requirements for any serious agent deployment.
What should I secure before exposing Hermes publicly?
SSH keys, firewall rules, regular OS updates, non-root user accounts and process isolation. Do not skip these just because Hermes is "just a bot."
Conclusion
Moving Hermes from your laptop to a VPS is the difference between a fun demo and a reliable automation layer. The install itself is simple — one curl command, a provider key and a few gateway settings. The real work is in the details that come after: making sure the service survives reboots, keeping the server patched and limiting what is exposed to the internet.
Start small. A single Ubuntu or Debian instance, one provider and one channel is enough to prove the deployment model. Scale up only when your real workload demands it — more RAM, more channels, more tools. Hermes is designed to grow with you, but only if the foundation underneath it is solid.
Need Help Building Production AI Agents?
Our team designs and deploys persistent AI agents, automation pipelines and messaging integrations for startups and enterprise teams. If you need Hermes — or a fully custom agent — running reliably in production, we can architect, build and hand it over.
Talk to Our AI Team