home lab
A Dashboard for Technitium's Blocked Services
A small Docker sidecar that pulls AdGuard's blocked-service definitions from GitHub, gives me per-VLAN on/off switches, and publishes the plain-text blocklists Technitium Advanced Blocking reads.
Making Technitium DNS Survive a Proxmox Host Failure
Adding ZFS replication and Proxmox HA to a two-container Technitium DNS setup, the order of operations that tripped me up, a real migration test, and Uptime Kuma monitoring.
Goodbye AdGuard Home: Five VLANs, One Technitium DNS Cluster
Replacing five AdGuard Home instances with two clustered Technitium DNS servers: one DHCP server for every VLAN, separate blocking policies per network, and a few things that didn't work the first time.
Moving Four Websites Off My Home Server and Onto Cloudflare Pages
How I moved four self-hosted websites from a home server behind an Oracle VPS to Cloudflare Pages, using GitHub Actions for the two Zola sites and Cloudflare's own Git integration for the two plain HTML sites, plus what bit me along the way.
Making an Automatic Email Backup (2026): One Repo, Better Search
Five years in, my self-hosted email archive gets cleaned up: four repos become one, Solr is replaced by Dovecot's built-in search, All Mail and Flagged folders finally work, and certificate renewals stop needing a manual restart.
Goodbye WordPress, Hello Zola
Why I moved this blog from a WordPress container to a static Zola site, how the posts got converted straight out of the database, and what broke along the way.
Fully Local Universal Remote Control with Home Assistant
Replacing a discontinued Logitech Harmony with a cheap Bluetooth remote, a Python event listener, and Home Assistant automations, with no cloud involved.
Create a FREE public endpoint for self-hosted services using Oracle Cloud and OPNsense
Using an always-free Oracle Cloud VM and a WireGuard tunnel to OPNsense to expose self-hosted services publicly without opening ports at home.
Making an Automatic Email Backup - Part 1
Automatically backing up a remote IMAP mailbox to a home server with mbsync, then serving the archive locally with Dovecot so any mail client can read it.