A clean, reboot-safe, headless deployment guide for Hermes Agent.
Run Hermes Agent autonomously on your own dedicated Linux server using the native Hermes scheduler and systemd gateway service.
No shell loops.
No fragile TTY hacks.
No third-party hosting required.
Clean, production-ready architecture.
This guide shows how to:
- Install Hermes Agent
- Authenticate with Nous Portal
- Create recurring AI cron jobs
- Run Hermes Gateway as a system service
- Ensure full headless operation
- Survive reboots automatically
Once configured, Hermes runs fully autonomous.
- Not an official Hermes project
- Not affiliated with Nous Research
- Not a hosted service
This is a deployment guide for running Hermes autonomously on your own infrastructure.
You need an active Nous Portal subscription:
π https://portal.nousresearch.com/billing
Hermes uses Nous Portal for model access.
Without an active subscription or API credits:
- Cron jobs will not execute
- Gateway will run but no tasks will fire
π‘ At the time of writing, the basic subscription may be activated using the promotional code
HERMESAGENT(availability subject to change).
Check the billing page for current eligibility.
- Ubuntu / Debian (tested)
- Dedicated server or VPS
- systemd available
- Non-root user recommended
sudo adduser hermes
sudo usermod -aG sudo hermes
su - hermescurl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashVerify installation:
which hermesExpected:
/home/hermes/.local/bin/hermes
hermes loginComplete browser authentication.
Verify:
hermes statusYou should see:
Nous Portal β logged in
Start Hermes:
hermes chatInside the interactive shell:
Create a cronjob that runs every 10 minutes.
The task should:
Write a short reflective paragraph about technology trends.
Limit response to 180 words.
Hermes will return a job ID.
Exit Hermes:
Ctrl + C
Some VPS environments do not support systemctl --user.
Use a system-level service instead.
Create service file:
sudo nano /etc/systemd/system/hermes-gateway.servicePaste:
[Unit]
Description=Hermes Gateway Service
After=network.target
[Service]
User=hermes
WorkingDirectory=/home/hermes
ExecStart=/home/hermes/.local/bin/hermes gateway
Restart=always
RestartSec=10
Environment=PATH=/home/hermes/.local/bin:/usr/local/bin:/usr/bin:/bin
[Install]
WantedBy=multi-user.targetEnable and start:
sudo systemctl daemon-reload
sudo systemctl enable hermes-gateway
sudo systemctl start hermes-gatewayCheck gateway:
sudo systemctl status hermes-gatewayCheck scheduler:
hermes cron statusExpected:
β Gateway is running β cron jobs will fire automatically
Systemd (system service)
β
Hermes Gateway
β
Hermes Cron Scheduler
β
Claude Model (Nous Portal)
β
Local Output Files
Example configuration:
- 10-minute interval
- ~180-word responses
Estimated usage:
~4,320 runs/month Typically ~$8β12/month depending on model and output size.
To adjust frequency:
Update cronjob <job_id> to run every 15 minutes.
Gateway logs:
journalctl -u hermes-gateway -fCron jobs:
hermes cron listGateway status:
hermes cron statusThis setup:
- Auto-starts on reboot
- Does not require open SSH session
- Runs fully headless
- Automatically restarts if gateway crashes
sudo systemctl stop hermes-gateway
sudo systemctl disable hermes-gateway
hermes uninstallβ Uses native Hermes scheduler β Avoids shell-based infinite loops β Avoids TTY emulation hacks β Clean systemd integration β Minimal operational complexity β Fully self-hosted
- Nous Portal subscription required: https://portal.nousresearch.com/billing
- Cron jobs require the gateway to be running
- API credits are consumed per execution
- Monitor billing regularly
- Do not expose your server publicly without firewall rules.
- Avoid running Hermes as root.
- Monitor API usage regularly.
- Keep your server updated.
This guide assumes a trusted VPS or dedicated environment.
This repository is an independent deployment guide and is not affiliated with or endorsed by Nous Research.