6 min read
Repairing instead of replacing
A broken kettle, a borrowed multimeter, and a new habit of opening things up before throwing them out.
Homelab, Linux, networking and security experiments, and the odd side quest. This is my portfolio and my workbench in one place.
Four VLANs, a fanless firewall, and WireGuard for getting back in.
opnsense, wireguard, unifi runningPhotos, notes and passwords, self-hosted and backed up nightly.
proxmox, docker, zfs retiredEvery lamp in the flat works through an internet outage.
zigbee, home assistantOne flat network is easy until a cheap smart plug sits next to my laptop.
opnsense, wireguard, unifiRead the detailsPhotos, notes, passwords and RSS used to live in three different cloud subscriptions.
proxmox, docker, caddyRead the detailsA cluster of three mini PCs that I can rebuild without thinking.
proxmox, ceph, ansibleRead the detailsA DNS resolver for the whole house that blocks ads and trackers and keeps a log I can actually read.
pi, unbound, adguardRead the detailsEvery light and sensor in the flat works without the internet, and nothing sends data to a company I haven’t chosen.
zigbee, home assistantRead the detailsOne command turns a fresh laptop into my laptop: shell, editor, keys and tools, in about ten minutes.
bash, git, nixRead the detailsOne flat network is easy until a cheap smart plug sits next to my laptop. I split the house into four VLANs so every device only reaches what it needs.
Firewall rules are only useful if I can explain each one a year later. I now comment every rule and keep the whole config in git.
Per-VLAN DNS logging, so I can see what the IoT devices talk to.
Photos, notes, passwords and RSS used to live in three different cloud subscriptions. Now they live on one box I own, and I know exactly where the backups are.
Self-hosting is mostly about maintenance, not setup. Updates, monitoring and restores take more time than installing anything ever did.
A small status page so the household can tell what’s down before asking me.
A cluster of three mini PCs that I can rebuild without thinking. The goal was to make tearing things down cheap enough that I actually experiment.
I rebuilt the whole thing from scratch once, on purpose. It was the fastest way to find everything I had configured by hand and forgotten.
Move more of the node setup into playbooks so a rebuild takes one command.
A DNS resolver for the whole house that blocks ads and trackers and keeps a log I can actually read.
Blocking too much is worse than blocking too little. The first week was mostly me fixing things I had broken for everyone else.
A proper dashboard, and a second resolver for when the first one reboots.
Every light and sensor in the flat works without the internet, and nothing sends data to a company I haven’t chosen.
The best automation is one nobody notices. The ones that needed explaining to guests got deleted.
Retired in favour of the bigger setup on the cluster, but the design carried over.
One command turns a fresh laptop into my laptop: shell, editor, keys and tools, in about ten minutes.
Writing it down forced me to decide what I actually use. I deleted about half of my old config.
A test run in a fresh container on every commit.
The firewall rules that mattered, and the printer that fought back.
Photos, notes and passwords, now backed up by me.
Keys only, fail2ban, and what the logs showed afterwards.
What I learned from tearing down a setup that worked fine.
Zigbee, Home Assistant, and automations that survive an outage.
A new laptop, ready in ten minutes.
A broken kettle, a borrowed multimeter, and a new habit of opening things up before throwing them out.
Paper for thinking, a folder of markdown files for keeping. Why neither works well alone.
Good debugging is mostly good questions. These books taught me which ones to ask.
I can’t leave a system alone until I understand how it works. This site is where I keep the evidence: configs, diagrams, mistakes and the occasional win.
Everything is written to be useful to future me first, and to anyone else who stumbles across it second. If something here helped you, or you spotted a mistake, I’d like to hear about it.
Found a mistake, want to compare notes on a setup, or just curious about something here? Write to me. I read everything and answer as soon as I can.