Guide
Deploy Hermes Agent on Hostinger VPS
A complete walkthrough for running Hermes Agent on a Hostinger VPS: install Docker on Ubuntu, start the Hermes container, connect your model API, and optionally add a custom domain with auto-HTTPS via Caddy.
Is Hostinger a Good Fit for Hermes Agent?
Hostinger's KVM VPS plans give you full root access, dedicated resources, and Docker support — a reasonable foundation for running Hermes Agent against external model APIs such as OpenAI, Anthropic, or OpenRouter. For workloads in that category, Hostinger performs well and costs significantly less than many alternatives.
The honest limitation: Hostinger does not offer GPU-backed VPS plans at the time of writing. If your primary goal is running a local inference model with Ollama at useful quality (7B parameters and above), a Hostinger CPU VPS will be too slow for production use. For those workloads you need a GPU-equipped host. For everything else — Hermes connected to cloud model APIs, web search, shell automation, image generation via FAL, and Telegram or Discord channels — a mid-tier Hostinger KVM plan is a viable choice.
Hostinger VPS Plan Recommendations
Hermes Agent itself is lightweight, but it runs an API server on port 8642 and one or more platform connectors inside Docker. A comfortable minimum is 2 vCPU and 4 GB RAM. Here is how the tiers map to common use cases:
| Tier | vCPU | RAM | Verdict |
|---|---|---|---|
| Starting plan | 1 | 4 GB | Tight — possible for a single low-traffic bot, add swap |
| Mid plan | 2 | 8 GB | Recommended — comfortable headroom for Hermes + one channel |
| Higher plan | 4 | 16 GB | Good for multiple Hermes instances or shell-heavy workloads |
Check Hostinger's current pricing directly at hostinger.com — plan prices and naming change with promotions. Avoid the smallest single-core plan if you want reliable uptime under moderate load.
Step 1: Spin Up a Hostinger VPS
Head to hostinger.com and navigate to VPS Hosting. During setup:
- Select Ubuntu 24.04 as the operating system (Ubuntu 22.04 also works).
- Choose the data center region closest to your users.
- Upload your SSH public key during provisioning — this is strongly recommended over password-only auth.
- Wait for provisioning (typically 1–3 minutes), then note the server's IP address from the Hostinger dashboard.
Once the VPS is ready, connect and update the system:
ssh root@your-server-ip
apt update && apt upgrade -y/etc/ssh/sshd_config (PasswordAuthentication no) to reduce brute-force noise on a fresh server.Step 2: Install Docker
Docker's official install script handles everything for Ubuntu:
# Install Docker using the official script
curl -fsSL https://get.docker.com | sh
# Verify the install
docker --version
# Enable Docker to start on boot
systemctl enable docker
systemctl start dockerAfter running the script, docker --version should print a current Docker CE release. No manual apt-pinning is needed — the script resolves the correct repository for your Ubuntu version automatically.
Step 3: Install Hermes Agent
Hermes Agent is distributed as a Docker image on Docker Hub at nousresearch/hermes-agent. The upstream repository is:
- Upstream repo: github.com/NousResearch/hermes-agent
- Full install walkthrough: Install Hermes Agent guide
Before starting the container, create your data directory and configure your API keys. Hermes reads environment variables from ~/.hermes/.env, which is volume-mounted into the container:
# Create the Hermes data directory
mkdir -p ~/.hermes
# Create your .env file with required API keys
cat > ~/.hermes/.env << 'EOF'
ANTHROPIC_API_KEY=your-anthropic-key
OPENAI_API_KEY=your-openai-key
# Enable the OpenAI-compatible API server on port 8642
API_SERVER_ENABLED=true
API_SERVER_KEY=your-random-secret
# Optional: expose the API server beyond localhost inside the container
# API_SERVER_HOST=0.0.0.0
EOFWith your .env in place, run Hermes in gateway mode:
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
-p 8642:8642 \
nousresearch/hermes-agent gateway runKey flags explained:
-v ~/.hermes:/opt/data— Persists Hermes config, keys, sessions, memories, skills, and logs across container restarts. Your.envfile inside this directory is loaded automatically.-p 8642:8642— Exposes the OpenAI-compatible API server. RequiresAPI_SERVER_ENABLED=trueandAPI_SERVER_KEYset in your.env.gateway run— Starts Hermes in gateway mode (serves the API and handles platform connectors).--restart unless-stopped— Auto-restarts after crashes or server reboots.
Check the container is running and review startup logs:
docker ps | grep hermes
docker logs hermes --tail 50API_SERVER_ENABLED=true is set in ~/.hermes/.env. If you update the .env file after the container is already running, restart it with docker restart hermes for the changes to take effect.Step 3b: Access the Dashboard
The Hermes dashboard runs as a separate command — it is not bundled into the gateway container. To start it, run:
hermes dashboardThe dashboard listens on port 9119 and binds to 127.0.0.1 by default, meaning it is only accessible from the VPS itself. It has no built-in authentication. On a public Hostinger VPS you have two safe options:
- SSH tunnel (recommended for personal use): access the dashboard locally without exposing it to the internet.
Then openssh -L 9119:localhost:9119 root@your-server-iphttp://localhost:9119in your browser. - Reverse proxy with auth: if you need remote access, put Caddy in front with
basicauthand serve it only over HTTPS. Do not expose port 9119 directly on the public internet — there is no built-in auth to protect it.
Step 4: Point a Domain at the VPS
If you want HTTPS access to the Hermes API server using a custom domain, create an A record in your DNS provider pointing to your Hostinger VPS IP address. For example:
hermes.yourdomain.com A your-server-ipDNS propagation typically takes a few minutes to an hour. You can verify with:
dig +short hermes.yourdomain.comStep 5: TLS and Reverse Proxy
Running Hermes directly on plain HTTP over a public port is not recommended in production. Use a reverse proxy with TLS termination. Caddy is the simplest option — it provisions and renews Let's Encrypt certificates automatically with zero manual configuration.
Install Caddy on Ubuntu:
apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
| gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
| tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install caddyCreate /etc/caddy/Caddyfile to proxy the API server. If you also want to expose the dashboard remotely, add basicauth to avoid leaving an unauthenticated service on the internet:
# API server — protected by API_SERVER_KEY bearer token
hermes-api.yourdomain.com {
reverse_proxy localhost:8642
}
# Dashboard — add basicauth since the dashboard has no built-in auth
hermes.yourdomain.com {
basicauth {
# Generate hash: caddy hash-password
admin $2a$14$your-bcrypt-hash-here
}
reverse_proxy localhost:9119
}Restart Caddy to apply:
systemctl restart caddyCaddy will obtain certificates from Let's Encrypt automatically. The API server becomes available at https://hermes-api.yourdomain.com.
If you prefer Nginx, use its proxy_pass directive with Certbot for certificate management. The Caddy path is recommended for simplicity.
Step 6: Connect a Channel
Hermes supports Telegram, Discord, Slack, and other platforms through its platform connector system. Platform config lives in your Hermes config file (mounted at /opt/data inside the container) and takes effect after a container restart.
To connect a platform, use the Hermes CLI pairing flow or the dashboard (if running separately). For a complete end-to-end deploy walkthrough including platform connection, see the Hermes Agent web UI guide.
Common Hostinger Gotchas
Firewall blocking ports
Hostinger VPS instances typically have an open firewall by default, but if you have enabled ufw, make sure to allow the ports Hermes uses:
ufw allow 8642/tcp # Hermes API server (if exposing directly)
ufw allow 80/tcp # Needed for Let's Encrypt HTTP challenge
ufw allow 443/tcp # HTTPSIf you front Hermes with Caddy and keep direct port access off the public internet, you only need ports 80 and 443 open. Do not open port 9119 on the public firewall — access the dashboard via SSH tunnel instead.
Low-RAM plans and swap
On the smallest Hostinger plans (4 GB RAM), Docker memory pressure can cause the container to be killed. Add a swap file as a safety buffer:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstabThis does not replace adequate RAM, but it prevents hard OOM kills during transient memory spikes.
Docker bridge vs host networking
By default, Docker containers use bridge networking. This means the container sees localhost as its own loopback interface, not the host's. When configuring Hermes to call a service running on the host (e.g., a local Ollama instance), use the host gateway IP (172.17.0.1 on most Linux Docker setups) rather thanlocalhost. Alternatively, add --network=host to the docker run command, which removes the network namespace entirely.
The Easy Way: Use OpenClaw Launch
Self-hosting Hermes on Hostinger gives you full control, but it also means managing Docker, SSL certificates, server updates, uptime monitoring, and config files by hand. If you want a Hermes Agent running in minutes without any of that overhead, OpenClaw Launch deploys a fully managed, production-ready Hermes instance with TLS and a domain included — no VPS required.
| Hostinger VPS (Self-Managed) | OpenClaw Launch | |
|---|---|---|
| Time to deploy | 2–4 hours | Under 30 seconds |
| TLS setup | Install Caddy + configure Caddyfile | Automatic, included |
| Docker management | Manual pull, run, restart | Fully managed |
| Updates | Manual docker pull + restart | Automatic image pinning & updates |
| Monitoring | Set up yourself | Built-in |
| Cost range | VPS plan + your time | From $3/mo |
Frequently Asked Questions
Does Hostinger offer GPU VPS plans?
As of early 2026, Hostinger does not offer GPU-backed VPS plans in their standard lineup. If you need GPU acceleration for local inference (Ollama with a 13B+ model, for example), you will need to look at GPU-specific cloud providers. For Hermes running against external model APIs (OpenAI, Anthropic, OpenRouter), CPU VPS is perfectly adequate.
Can I run Hermes Agent with Ollama on Hostinger?
You can run Ollama on a Hostinger CPU VPS, but the practical limit is small models (around 3B parameters or less) that fit comfortably in RAM and tolerate slow CPU-only inference. For anything larger, inference will be too slow for interactive use. If you want to experiment with Ollama alongside Hermes, start with a model like phi3:mini and benchmark response times before committing to that setup in production.
How much RAM does Hermes Agent need?
Hermes Agent itself typically uses 300–600 MB of RAM when idle, with spikes during active sessions. However, Docker overhead, the OS, and any other services you run alongside it push the practical minimum to 4 GB total RAM for a stable single-instance deployment. An 8 GB plan gives comfortable headroom for sessions with web search, shell tools, or image generation active.
Can I run multiple Hermes instances on one VPS?
Yes. Each instance runs in its own Docker container with its own data directory and port mapping. On an 8 GB RAM plan you can typically run 2–3 Hermes instances before hitting resource limits, depending on concurrent session load. Use different host ports for each container (e.g., 8642 and 8643 for API servers) and configure separate subdomains in Caddy.
Is Hostinger reliable enough for a production Hermes deployment?
Hostinger's KVM plans use dedicated resources with SSD storage, and their network uptime is generally solid for small-to-medium workloads. They are not a premium managed cloud provider, so if you need SLA-backed uptime guarantees or enterprise support, look elsewhere. For personal projects, small teams, or early-stage products, Hostinger is a reasonable choice at a competitive price.
How do I access the Hermes dashboard on a remote VPS?
The hermes dashboard command starts a local web UI on port 9119. Because it has no built-in authentication, the safest way to access it on a remote VPS is via an SSH tunnel: run ssh -L 9119:localhost:9119 root@your-server-ip from your local machine, then open http://localhost:9119 in your browser. Alternatively, put it behind Caddy with basicauth if you need persistent remote access.
Related Guides
- Install Hermes Agent — Full installation reference
- Hermes Agent on GitHub — Upstream source and release tracking
- What is Hermes Agent? — Overview of capabilities and architecture
- Hermes Agent Managed Hosting — Skip the VPS — deploy in under a minute
- OpenClaw on Hostinger — The OpenClaw equivalent of this guide