An open API service indexing awesome lists of open source software.

https://github.com/JackTheGit/hermes-autonomous-server

Run Hermes Agent autonomously on your Linux server using systemd and native cron scheduler. Production-ready, headless setup with Nous Portal integration.
https://github.com/JackTheGit/hermes-autonomous-server

ai-automation ai-server claude cron dedicated-server headless hermes hermes-agent linux nous nous-research self-hosted server-automation systemd vps

Last synced: about 2 months ago
JSON representation

Run Hermes Agent autonomously on your Linux server using systemd and native cron scheduler. Production-ready, headless setup with Nous Portal integration.

Awesome Lists containing this project

README

          

# ๐Ÿš€ Hermes Agent โ€“ Autonomous Linux Server Setup


A clean, reboot-safe, headless deployment guide for Hermes Agent.

![Linux](https://img.shields.io/badge/Linux-Tested-success?style=for-the-badge&logo=linux)
![Systemd](https://img.shields.io/badge/Systemd-Service-blue?style=for-the-badge)
![Headless](https://img.shields.io/badge/Headless-No%20Terminal-green?style=for-the-badge)
![Cron](https://img.shields.io/badge/Native-Cron%20Scheduler-purple?style=for-the-badge)
![Nous Portal Required](https://img.shields.io/badge/Nous%20Portal-Subscription-orange?style=for-the-badge)

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.

---

# ๐Ÿ“Œ Overview

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.

---

# ๐Ÿงฉ What This Is Not

- 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.

---

# ๐Ÿ”‘ Requirements

You need an active **Nous Portal subscription**:

๐Ÿ‘‰ [https://portal.nousresearch.com/billing](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.

---

# ๐Ÿ–ฅ Supported Environment

* Ubuntu / Debian (tested)
* Dedicated server or VPS
* systemd available
* Non-root user recommended

---

# ๐Ÿ“ฆ Installation

## 1๏ธโƒฃ Create a Dedicated User

```bash
sudo adduser hermes
sudo usermod -aG sudo hermes
su - hermes
```

---

## 2๏ธโƒฃ Install Hermes Agent

```bash
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
```

Verify installation:

```bash
which hermes
```

Expected:

```
/home/hermes/.local/bin/hermes
```

---

## 3๏ธโƒฃ Authenticate with Nous Portal

```bash
hermes login
```

Complete browser authentication.

Verify:

```bash
hermes status
```

You should see:

```
Nous Portal โœ“ logged in
```

---

# โฐ Create Autonomous Cron Job

Start Hermes:

```bash
hermes chat
```

Inside 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
```

---

# โš™ Enable Hermes Gateway (System-Level Service)

Some VPS environments do not support `systemctl --user`.
Use a system-level service instead.

Create service file:

```bash
sudo nano /etc/systemd/system/hermes-gateway.service
```

Paste:

```ini
[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.target
```

Enable and start:

```bash
sudo systemctl daemon-reload
sudo systemctl enable hermes-gateway
sudo systemctl start hermes-gateway
```

---

# โœ… Verify Everything

Check gateway:

```bash
sudo systemctl status hermes-gateway
```

Check scheduler:

```bash
hermes cron status
```

Expected:

```
โœ“ Gateway is running โ€” cron jobs will fire automatically
```

---

# ๐Ÿ— Architecture

```
Systemd (system service)
โ†“
Hermes Gateway
โ†“
Hermes Cron Scheduler
โ†“
Claude Model (Nous Portal)
โ†“
Local Output Files
```

---

# ๐Ÿ’ฐ Cost Considerations

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 to run every 15 minutes.
```

---

# ๐Ÿ“Š Monitoring

Gateway logs:

```bash
journalctl -u hermes-gateway -f
```

Cron jobs:

```bash
hermes cron list
```

Gateway status:

```bash
hermes cron status
```

---

# ๐Ÿ”„ Reboot Safety

This setup:

* Auto-starts on reboot
* Does not require open SSH session
* Runs fully headless
* Automatically restarts if gateway crashes

---

# ๐Ÿงผ Uninstall

```bash
sudo systemctl stop hermes-gateway
sudo systemctl disable hermes-gateway
hermes uninstall
```

---

# ๐ŸŽฏ Why This Approach?

โœ” Uses native Hermes scheduler
โœ” Avoids shell-based infinite loops
โœ” Avoids TTY emulation hacks
โœ” Clean systemd integration
โœ” Minimal operational complexity
โœ” Fully self-hosted

---

# โš  Important Notes

* Nous Portal subscription required:
[https://portal.nousresearch.com/billing](https://portal.nousresearch.com/billing)
* Cron jobs require the gateway to be running
* API credits are consumed per execution
* Monitor billing regularly

---

# ๐Ÿ”’ Security Considerations

- 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.

---

## Disclaimer

This repository is an independent deployment guide and is not affiliated with or endorsed by Nous Research.