BEN://
--:--:-- UTC
BEN://PROJECTS/HOMELAB-AGENT-INFRASTRUCTURE

AI / Agents

Homelab playground: Nous Research Hermes

Nous Research Hermes running in the homelab with terminal-level Proxmox access. It now picks up flaking Docker containers from Beszel monitoring, troubleshoots them, asks for approval over Telegram, and then fixes the root cause instead of just restarting the container.

experimental

Started

Sep 01, 2026

Updated

Oct 23, 2026

Repository

—

Live

—

Nous Research HermesProxmoxBeszelTelegramUptime Kuman8nDocker
#llm#self-hosted#automation#monitoring#human-in-the-loop

UPDATE · OCT 2026

The first real loop works: Beszel spots a flaking container, Hermes works out why, I approve the fix from Telegram, and Hermes fixes the underlying problem. So far it's been a big success. Everything else here is still playground.

What it is

I stood up the Nous Research Hermes model in the homelab and pointed it at real systems instead of toy prompts. Nothing here is hardened yet. It's a testbed for finding out what tool-using LLM judgment is actually good for before I commit to building any of it properly.

What it can touch, so far

The first working loop: flaking containers

This is the first piece that has gone from experiment to something I'd call real automated, agentic troubleshooting.

  1. Detect. Beszel picks up a Docker container that's flaking: restarting, dropping out, or unhealthy.
  2. Investigate. Hermes goes in with terminal access. It reads the logs, inspects the container and its host, and works out why it's failing instead of just noting that it is.
  3. Propose. It sends the diagnosis and the fix it wants to apply to me on Telegram.
  4. Approve. I read it and approve or reject it from my phone. Nothing changes until I say yes.
  5. Fix at the root. Once approved, Hermes fixes the underlying cause rather than restarting the container and hoping.

The thing I care about is the gap between steps 2 and 5. A restart-on-failure policy already handles the symptom. What I wanted to know was whether the model could find the actual cause reliably enough that approving its fix is a quick read, not a second investigation. So far, it can.

Why a human approves the fix

Fixing the root cause means changing config, images, volumes, or the host, not just bouncing a process. That's exactly where "technically correct but not what I meant" can do damage. Approving over Telegram keeps the speed (I don't have to sit at a terminal, and the investigation is done by the time I see it) while keeping the final call with me. The per-service rules still decide what Hermes may do on its own. Root-cause changes go through approval.

Why no infrastructure-as-code yet

I'm deliberately holding off. This is still the exploration phase, finding out where the model's judgment is trustworthy and where it isn't, before it's worth versioning the config or building anything like a real deployment pipeline around it.

What I'm actually testing

Whether the interesting failures turn out to be the obvious ones (the model doing something clearly wrong) or the harder ones (the model doing something technically correct that still wasn't what I meant). The container loop is the first place I'm getting real answers, and the approval step is where I'd catch the second kind before it lands.

Related Projects

← All projects