Hermes Atlas
Deployment & hosting

free-hermes

zlen2024/free-hermes

Fly.io setup for running Hermes Agent at about $0 a month while idle, woken by Telegram webhooks

In short

free-hermes is a deployment recipe that runs Hermes Agent on Fly.io with scale-to-zero. The machine suspends when unused and wakes in about a second on an inbound Telegram webhook or a scheduled HTTP poke.

What free-hermes does

free-hermes packages a Fly.io deployment for Hermes Agent so that compute is billed only while messages are being processed. Fly Proxy wakes the suspended machine when an HTTPS request arrives, which the README puts at about one second. Config, API keys, sessions, skills and memory live on a Fly volume mounted at /opt/data, so they survive suspension.

The key setting is Telegram webhook mode. Hermes defaults to long polling, which keeps a machine awake all day, so you set TELEGRAM_WEBHOOK_URL, TELEGRAM_WEBHOOK_SECRET and TELEGRAM_WEBHOOK_PORT=8644 in /opt/data/.env. Scheduled jobs cannot run inside a suspended container, so the repo uses cron-job.org to poke the machine over HTTP, and it includes an external-cronjob skill that teaches Hermes to manage those schedules through the cron-job.org API. Deployment uses fly deploy --ha=false, because Hermes is stateful and needs a single machine. Setup runs hermes setup over fly ssh console with --pty.

Key features

  • Scale-to-zero Fly.io deployment that suspends when idle
  • Wakes on inbound Telegram webhooks within about a second
  • Persistent Fly volume at /opt/data for config, keys, sessions, skills and memory
  • Bundled external-cronjob skill for cron-job.org schedules
  • Single-machine deploy with fly deploy --ha=false
  • Configuration reference table of webhook environment variables

When to use it

  • Running a personal Telegram-facing Hermes Agent on a near-zero hosting budget
  • Triggering scheduled Hermes tasks from an external cron service
  • Keeping Hermes memory and skills across machine suspensions

Who it is for: Hermes Agent users who want a cheap always-reachable Telegram bot hosted on Fly.io.

How it fits with Hermes Agent

Built to host the Hermes gateway on Fly.io, using Hermes's Telegram webhook mode and a skill that Hermes can load.

Requirements: A Fly.io account with flyctl, a model provider API key, a Telegram bot token from BotFather and your numeric Telegram user ID

Note: The cost is about $0 only while idle, and compute is billed while the agent processes messages.

FAQ

What is free-hermes?

free-hermes is a Fly.io deployment recipe for Hermes Agent. It suspends the machine when idle and wakes it on Telegram webhooks or scheduled HTTP pokes, so idle cost is about zero.

What do I need to run free-hermes?

You need a Fly.io account with flyctl logged in, an API key for a model provider, a Telegram bot token and your numeric Telegram user ID for the allowlist.

Is free-hermes free and open source?

The repository has no license file, so default copyright applies. Check with the author before reuse. Fly.io charges for compute while the agent is processing messages.

Similar deployment for Hermes Agent

All deployment

Related guides: How to run Hermes Agent securely · How to install Hermes Agent · Connect Hermes agents on several machines with Hermes Desktop