War stories, build logs and debugging tales from a homelab that runs my whole apartment — two Proxmox nodes, ~24 services, and a cat named Pixel who is not allowed to trigger automations.
A deterministic engine with no AI in it, an AI agent that watches, a HUD where I get to say no, and a folder of markdown that remembers everything. How they fit together — and why the interesting part is how they refuse to trust each other.
2026-07-20The internet vanished from the whole apartment, with everything on my side healthy. A WAN capture showed my requests leaving and nothing answering — while the ISP's own gateway was alive on the wire. The proof it was upstream came from the one workaround that didn't work.
2026-07-20Moving one Siemens dishwasher onto an IoT VLAN took two sessions and a fight with Home Connect's idea of "home". The isolation I built to protect the network turned around and blocked me from managing the very device it was isolating.
2026-07-20I built DNS failover, tested it, watched it "fail", panicked, and made a real mess — before discovering my own diagnostic tools had been lying the entire time. The DNS never actually broke.
2026-07-12I clicked "Update" on Home Assistant and the whole apartment went dumb — stuck NOT_RUNNING. The cause wasn't my config. A download server three time zones away was returning 522, and the twist is that rollback couldn't have saved me either.
2026-07-12Full signal bars, right network, strong connection — and 100% packet loss. My living-room TV was a WiFi zombie, and the culprit was a radar-avoidance rule baked into the 5 GHz band I never should have been sitting on.
2026-07-11My friends' streams kept buffering, and the remote bitrate cap I set did absolutely nothing. Because behind a reverse proxy, every client on earth looks like it's sitting on my couch — until you teach the app who the proxy is.
2026-07-11My media pool was filling up with nothing new. Every movie existed twice — once seeding, once in the library — and the fix was one line of filesystem theory I'd drawn a boundary straight through.
2026-06-14A sequel. The network was always there — my laptop just refused to roam properly. Three ghosts (an amnesiac daemon, a phantom radio, a port poltergeist), one watchdog, and the one bug I chose to live with.
2026-06-14Her name is Pixel, she's four kilograms, and she's the single most important constraint in my entire home-automation design. Why every scene in my apartment is a manual button.
2026-06-14A disk filled up, and by the time I reached for my phone it had already been investigated and reported. Building an autonomous ops brain — and the layers of paranoia that make it safe to run.
2026-06-14I run ~24 services and not one Docker container. Native systemd in unprivileged LXC instead — the reasoning, the real tradeoffs, and who should (and shouldn't) copy it.
2026-06-13Building the loop I actually wanted from a homelab: photos leave my phone, land in my own cloud, and play on the TV — without my 400 screenshots of parking signs tagging along.
2026-06-13All I wanted was a Google-style month view in Home Assistant with events that span days as bars. What I got was a multi-hour fight with a shadow DOM and the word "+more". Here's how it ended.
2026-06-13My backup node kept vanishing from the network at random. No panic, no logs that mattered — just silence. The culprit turned out to be a 15-year-old Intel driver bug, and the fix was three words long.