Autonomous operations · homelab

The homelab that runs itself.

One Proxmox box, a rack of self-hosted services, and a fleet of agents that watch, triage, rehearse, repair — and reach you, with a researched fix, when they shouldn't act alone. Below is every fix they've made — the symptom, what actually went wrong, and how it was resolved — generated from the system's own records and redeployed within a minute of each one.

All systems nominal ·12 agents on watch ·184 fixes logged ·refreshed 21 Jul 2026, 19:14 UTC
184
Fixes logged
26
Self-resolved
157
Root-caused
12
Autonomous agents
What it runs

A rack's worth of services — on a single small box.

Media, home automation, networking, and the platform to run them — around a dozen self-hosted services, each right-sized to a tight CPU and memory budget and kept honest by a resource watchdog. Density by discipline, not by throwing hardware at it.

1 Proxmox host~12 services every one CPU-limited + memory-floored right-sized weekly0 open inbound ports

Media

  • Streaming server + live TV & DVR
  • Self-service request manager
  • Movies · TV · indexers · subtitles · audiobooks
  • Quality profiles + failed-download cleanup

Home

  • Home automation — lighting, heating, presence
  • Camera AI + NVR (person / car detection)
  • Room-level routines & scenes
  • Phone notifications & live dashboards

Access & edge

  • Reverse proxy in front of every service
  • Zero-open-port public tunnel
  • User management + invites
  • Network-wide DNS + DHCP with ad-blocking

Data & safety

  • VPN-gated downloads with a kill-switch
  • Nightly encrypted offsite backups
  • Library malware sweep + quarantine
  • Quality / format enforcement

Observability

  • Central log aggregation + dashboards
  • Dead-man heartbeats on every scheduled job
  • Active reachability probes
  • Researched-fix push to your phone

How it ships

  • GitOps — the merge is the deploy
  • Secrets rendered at deploy, never in git
  • Smoke-tested behind an approval gate
  • One-command guided rollback
Every fix, in full

What it handled — and exactly how.

Each entry is a real fix, pulled from the system's own issue log. Click any one to read the symptom, what actually went wrong, and how it was resolved. Internal specifics are scrubbed; the reasoning is not.

Loading the feed…

The roster

Twelve agents, each with one job.

Small, single-purpose, and boring by design — the interesting behaviour is in how they compose.

log-triageclusters error logs into deduplicated, root-caused issues
failure-watcherturns silent failures into auto-closing issues
drift-checkpinned-vs-running container digests, every day
dep-updatewatches the version layer, proposes safe upgrades
resource-watchhost load & memory; right-sizes and alerts
renovatedependency & container-image bumps, digest-pinned
recording-watchdogre-arms a stalled DVR recording within 2 min
seerr-reconcilerevery request ends fulfilled — or flagged
autohealrestarts a container the moment it goes unhealthy
malware-sweepquarantines non-media payloads in the library
smoke-test gateblocks a bad deploy before it ever lands
healthcheck-triagewatches the watchers, and pages when one goes quiet
How it decides

Autonomous where it’s safe. Gated where it isn’t.

The system is deliberately not a black box that changes things on a whim. Six rules keep it trustworthy.

01

Git is the source of truth

Every change is a branch, a review, a merge. Nothing is configured by hand and forgotten. The repository can rebuild the box from scratch.

02

Rehearse before prod

Anything destructive is replayed on a throwaway clone of production first. The dangerous surprises get caught on a copy, not on the live system the household depends on.

03

Diagnose, don’t blind-fix

Agents find root causes and propose. A human approves anything that changes state. Confident-but-wrong auto-fixes were tried once — and deliberately removed.

04

Defense in depth

Secrets are scrubbed at the log shipper and again before the repository. A leaked credential is a bug to fix at the source, at multiple layers — never a fire drill.

05

Gated by blast radius

Every change is classed by how much it can break and who it touches. A back-office tweak lands instantly; anything that reaches the network, the household, or an outside user needs a live preflight and an explicit go-ahead — and fails closed if a check is unsure.

06

Right-sized on purpose

One small box, not a cluster. Every service runs on a deliberately tight CPU and memory budget, rebalanced on a schedule — capacity is a decision, not an afterthought. Over-building for scale it will never have is treated as its own failure mode.

How it reaches you

It doesn’t just find the fix. It brings it to you — researched — and applies it on one tap.

Detection is the easy part. The hard part is the last mile: making sure a problem that needs a person actually reaches one, with enough context to decide in seconds — and knowing that silence means healthy, not unheard. Most setups stop at "it logged an error somewhere." This one closes the loop.

01

Detect

Agents cluster errors, watch resources, probe reachability, and track versions — turning noise into deduplicated, root-caused issues.

02

De-noise

A one-off blip auto-closes as a transient; a fixed issue reopens only if it comes back sustained. The queue stays honest — no flapping, no silent pile-up.

03

Research the fix

Before anything reaches you, per-tool experts ground the fix in the official docs and the community grounds it in real-world experience — root cause, live state, the real upstream behaviour. Not an alert. A recommendation.

04

Escalate

The researched fix lands on your phone with one-tap Approve / Reject. A daily digest arrives even when everything’s green — so a quiet day is proof the loop is alive, and a missing digest is itself the alarm.

05

Apply — gated

Approve records the decision and routes it into the reviewed, rehearsed path. It never auto-applies a change on its own — the human stays in the loop where it counts.

The actual shape of a decision push. The button carries a one-time signed token — never a credential.

Researched
A root-caused recommendation, not a raw alert to go investigate.
Silence = healthy
A daily heartbeat makes "no news" trustworthy instead of ambiguous.
Human-gated
One tap records intent; the apply still goes through review + rehearsal.
Hardened
Signed, token-free taps; the channel even watches its own health.