---
title: "Deploy Hermes Agent Cron"
description: "Scheduled agent jobs that report back to your chat"
category: "AI/ML"
url: https://railway.com/deploy/deploy-hermes-agent-cron-scheduler
---

# Deploy Hermes Agent Cron

Scheduled agent jobs that report back to your chat

**[Deploy Hermes Agent Cron on Railway](https://railway.com/template/deploy-hermes-agent-cron-scheduler)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/deploy-hermes-agent-cron-scheduler/manifest.json

- **Creator:** onepush
- **Category:** AI/ML

## Template content

### hermes-agent

- **Image:** nousresearch/hermes-agent:v0.22.0@sha256:c69536a39e885b8943329bda68cdf44492458b96aa74a212239bde9d2aeb406a
- **Start command:** `sh -c "mkdir -p /opt/data && chown -R 10000:10000 /opt/data && exec /opt/hermes/docker/entrypoint-dispatch.sh hermes gateway run"`
- **Health check:** /health
- **Public domain:** Yes

## Documentation

# Deploy and Host self hosted Hermes Agent Cron (Open-Source AI Agent) on Railway

This template runs Nous Research's Hermes Agent as an always-on gateway, so its cron ticker fires scheduled jobs every 60 seconds and reports back to Telegram, Discord or your chat. Made for agent briefings and checks that run without a laptop.

## About Hosting Hermes Agent Cron open-source software on Railway (self hosted Hermes Agent template)

Your jobs, scripts, skills and memory live in cron/jobs.json and the files around it on the /opt/data volume, not in a dashboard you can't inspect.

## Why Deploy Hermes Agent Cron, the ChatGPT agent alternative on Railway (Railway Free Trial)

ChatGPT Tasks keeps your scheduled prompts inside OpenAI's product and bills you in OpenAI tokens. The $5 Railway trial covers the first stretch.

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Hermes Agent Cron on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

### Railway vs Other Hosting Providers and VPS for Hermes Agent Cron self hosting

Most of the difference is how much cron plumbing you want to own.

| Provider | What You Get with Railway | What You Get with the Other Provider |
| --- | --- | --- |
| DigitalOcean | Pinned image, attached volume and a health check, with the ticker already running. | A Droplet you patch, gateway under systemd, volume extra. |
| AWS | One service, port and health path preset, ticker running. | ECS or EC2 plus IAM plus a scheduler you wire. |
| Hetzner | Same image, jobs fire while the service stays up. | Cheap VPS, but you own firewall, TLS and restarts. |

Railway just removes the parts that say nothing about your jobs.

## Common Use Cases for hosted Hermes Agent Cron

- **Morning briefings to Telegram:** Ask in chat for a Hacker News or news summary at 9am daily, delivered to your Telegram chat. The gateway ticker fires it while the Railway service stays up, no laptop open.
- **Website and price checks:** A recurring job every 2h can fetch a page, compare what changed and report back. Each run is a fresh agent session, so it reasons over the page rather than diffing raw HTML.
- **Weekly report drafts:** A Mondays-only schedule like 0 9 * * 1 can pull from your sources and draft a summary to the origin chat or a local file on the /opt/data volume.
- **Repo or inbox triage:** Skills attached with --skill let a job apply your own checklist to new issues or messages and post a short digest, pausing when you go on leave.
- **Script-only alerts with no LLM:** Drop a bash or python script in ~/.hermes/scripts/ and schedule it. Stdout is delivered verbatim, spending zero tokens, which is the cheapest way to watch a disk or endpoint.

## Dependencies for Hermes Agent Cron Docker hosted on Railway

One Railway service runs the Hermes Agent gateway, and that gateway fires your cron jobs. Jobs, scripts, skills and memory survive redeploys.

### Deployment Dependencies for Managed Hermes Agent Cron Service (AI Agent)

- API_SERVER_ENABLED=true, API_SERVER_HOST=0.0.0.0, API_SERVER_PORT=8642, a generated API_SERVER_KEY, and HERMES_API_URL set to your Railway domain plus /v1.
- Fixed: PORT=8642, HERMES_ALLOW_ROOT_GATEWAY, RAILWAY_RUN_UID, plus HERMES_UID and HERMES_GID at 10000.
- Empty by default: OPENROUTER_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY (at least one, or Nous Portal), TELEGRAM_BOT_TOKEN, TELEGRAM_ALLOWED_USERS.

### Implementation Details for Hermes Agent Cron (Using Hermes Agent official docker image)

The start command makes a fresh volume writable first: it creates /opt/data, chowns it to uid 10000, then execs the image's /opt/hermes/docker/entrypoint-dispatch.sh with hermes gateway run.

## How does Hermes Agent Cron compare against other AI agent platforms

### Hermes Agent Cron vs ChatGPT Tasks (ChatGPT Tasks Alternative)

- **Where Hermes wins:** Each run is a real agent session with tools, so it can check a page and message you on Telegram.
- **Model choice:** Pin OpenRouter, Anthropic or OpenAI per job, or set cron.model to a cheap model for frequent runs.
- **Where ChatGPT Tasks wins:** Nothing to host and no server bill. For plain reminders it is much less setup.

### Hermes Agent Cron vs OpenClaw cron (OpenClaw Cron Alternative)

- **Where Hermes wins:** Jobs, skills and memory share one volume, so each fresh run can still use the skills and memory you built up.
- **Delivery:** Output goes to the origin chat, local files, Telegram or Discord, managed from chat with /cron.
- **Where OpenClaw wins:** If your team already runs OpenClaw, its own scheduler avoids a second agent to maintain.

### Hermes Agent Cron vs Zapier Schedules (Zapier Schedules Alternative)

- **Where Hermes wins:** No task-based plan limits and no per-step billing. A job can reason over what it finds.
- **Scripting:** No-agent jobs run bash or python from ~/.hermes/scripts/ and deliver stdout with zero tokens.
- **Where Zapier wins:** Hundreds of prebuilt connectors and a point-and-click builder that non-technical teammates can use.

### Hermes Agent Cron vs system cron plus scripts (System Cron Alternative)

- **Where Hermes wins:** The payload is an agent that decides what matters and writes the summary in plain language.
- **State:** Jobs live in cron/jobs.json on the /opt/data volume, so they survive redeploys and report to chat.
- **Where system cron wins:** Free and already installed. If a curl call and a log line are all you need, it is simpler.

## How to use Hermes Agent Cron (the OSS AI agent)?

1. Add a model provider key as a Railway variable (OPENROUTER_API_KEY, ANTHROPIC_API_KEY or OPENAI_API_KEY) and redeploy the service.
2. Optionally connect Telegram: set TELEGRAM_BOT_TOKEN and TELEGRAM_ALLOWED_USERS, then redeploy.
3. Create a job from chat with /cron add "every 2h" "Check server status", or ask for it in plain language.
4. Or open the service shell and run hermes cron create "every 2h" "Check server status".
5. Check it with hermes cron list; jobs show as [active], [paused] or [completed].
6. Pin a cheap model for frequent jobs with hermes config set cron.model.

The gateway runs as the main process, so jobs fire while the service is up.

## How to self host Hermes Agent Cron on other VPS Services (Hermes Agent self hosting guide)

Any small Linux box works. What matters is that you keep the gateway process alive, because the ticker that fires jobs lives inside it, not in your shell.

### Clone the Repository

There is no repo to clone for a normal install. Pipe the official install script into bash, then run `hermes setup` to finish the first-run questions.

### Install Dependencies

You need curl and a shell for the installer. Setup writes your config to `~/.hermes`, which is also where jobs, scripts, skills and memory end up.

### Configure Environment Variables

Export at least one model provider key, plus Telegram if you want results delivered to chat:

```
export OPENROUTER_API_KEY=your-key
export TELEGRAM_BOT_TOKEN=your-token
export TELEGRAM_ALLOWED_USERS=your-id
```

### Start the Hermes Agent Cron Application

Run the gateway in the foreground so the 60 second ticker keeps ticking, or install it as a service so it survives logout:

```
hermes gateway
```

Then create a job with `hermes cron create "every 2h" "Check server status"` and confirm it with `hermes cron list`. Back up `~/.hermes` if you care about the schedule.

## Official Pricing of Hermes Agent Cron (Hermes Agent pricing)

Hermes Agent is MIT licensed, so the scheduler itself costs nothing to run. There are no seats, plan tiers or per-job fees inside Hermes itself.

## Hermes Agent Cron cloud vs self hosted comparison (Pricing, features, costs, and more)

There is no official hosted Hermes; the choice is Railway or your own box, both running the same MIT-licensed agent. The difference is who patches the host and how the gateway stays alive.

### Monthly cost of self hosting Hermes Agent Cron on Railway

Expect about $5-10/mo at 512 MB to 1 GB of RAM, plus model API costs and any Telegram or Discord traffic. Railway's $5 trial covers the first stretch. A cheap pinned cron model keeps frequent jobs near the low end, and script-only jobs spend zero tokens.

### System Requirements for Hosting Hermes Agent Cron on a VPS

You need a Linux box that can run the installer or the Docker image, a writable ~/.hermes directory, and outbound network access for model calls and chat delivery. 1 GB RAM is comfortable. Back up jobs.json before you migrate.

## Frequently Asked Questions (FAQs)

### Why did my cron job not fire?

Jobs are fired by the gateway's background ticker thread, which ticks every 60 seconds, and a plain CLI chat session does not fire jobs. If it crashed or you stopped it, nothing ticks. Use `hermes cron tick` to force one while debugging.

### Which model does a job use?

Resolution happens at fire time: the per-job pin first, then `cron.model` in config.yaml, then the main model. Pin a cheap model with `hermes config set cron.model` for frequent jobs, since every run spends tokens.

### Where are jobs stored?

In `~/.hermes/cron/jobs.json`, which on this template lives on the `/opt/data` volume.

### Do jobs survive a redeploy?

Yes. Hermes home is the `/opt/data` volume, so jobs, scripts, skills and memory survive redeploys.

### Can a job run without an LLM?

Yes. No-agent mode runs a bash or python script from `~/.hermes/scripts/` on a schedule and delivers stdout verbatim with zero LLM tokens. Those scripts do not inherit provider credentials.

### How do I stop a job?

Ask Hermes in chat, or use /cron, to pause the job; you can resume, edit or remove it later. `hermes cron list` shows each job's state before you touch it.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Möbius v0.1 Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.

Open this page in a browser: https://railway.com/deploy/deploy-hermes-agent-cron-scheduler
