Skip to content

Hermes Agent on FreeBSD 15 Jail with Telegram and Obsidian Sync

I wanted a small, always-on AI agent living on my FreeBSD server, controlled from Telegram on my phone, with read and write access to my Obsidian notes. The result is a personal assistant I can message from anywhere—and the path there had a few FreeBSD-specific surprises worth sharing.

The Architecture

The Brain (“Hermes”)

The Hermes Agent runs inside its own dedicated FreeBSD 15 jail—isolated from the host, easy to snapshot, and trivial to throw away and rebuild if anything breaks.

The Remote Control

Telegram is the mobile interface. A private bot, locked to my own user ID, turns my phone into a chat window straight into the agent. No app to build, no port to expose.

The Memory

An Obsidian vault stays a plain Markdown folder. Hermes reads it for context and writes new notes into a dedicated workspace, so it can capture ideas and daily logs without ever touching the rest of my knowledge base.

The Sync

Syncthing (paired with Möbius Sync on iOS) keeps the vault identical across phone, laptop, and the jail—decentralized, with no third-party cloud in the loop.

Key Highlights

  • Fully Jailed: The agent lives in an isolated FreeBSD container, keeping the host clean and the blast radius small.
  • Chat-First Control: Messaging the bot from Telegram is the entire user experience—mobile, instant, and private.
  • Guarded Notes: Clear house rules tell Hermes where it may write, and forbid deleting or renaming existing notes.
  • Zero-Cloud Sync: Obsidian stays just Markdown, synced peer-to-peer with Syncthing instead of a hosted service.

The final setup is simple and reliable: Hermes lives quietly in a FreeBSD jail, Telegram gives me mobile control, and Obsidian remains just a synced folder of notes—exactly the kind of small, self-owned tool I enjoy running.