Homelab Haven
Docker, a Synology NAS, Home Assistant, self-hosted media. I write up what breaks, why, and how I fixed it, so I don’t have to rediscover it in a year.
Written by an IT architect who runs all of this at home. Start with Docker, self-hosted media, remote access or Synology. Or browse every post.
Most homelab write-ups either stop at “here’s the fix,” or read like vendor documentation.
I write these up so anyone who runs into the same problem (or the same question) doesn’t have to start from scratch: what actually broke, why it broke, and something you can copy-paste and adapt.
Bitwarden Secrets Manager for AI Agents
How I set up bws (Bitwarden Secrets Manager's CLI) so Claude can fetch homelab credentials itself, no master password, no pasting secrets into chat.
Dockhand Multi-Host Dashboard
Why I run Dockhand across my Docker hosts, how the Gitea-first deploy flow works, and the API that lets an agent manage containers without SSH.
Docker Compose Basics
The five ideas behind every compose.yaml on this site: images vs containers, volumes, networks, restart policies, and PUID/PGID conventions.
Giving Internal Homelab Apps Real DNS Names and HTTPS
Cloudflare Tunnel gets your public apps out; a local DNS rewrite gives private ones the same clean hostname and valid HTTPS, from the same Caddy instance.
Part 1: Cloudflare vs Tailscale
Cloudflare Tunnel publishes an app without opening a port; Tailscale puts your devices on one private network. The real difference, and the hybrid I run.
Part 1: The Map Before the Territory
What Sonarr, Radarr, Prowlarr, qBittorrent, SABnzbd, Bazarr and Seerr do, how they fit together, and the folder layout to get right first.
Part 2: Sonarr and Radarr
Install Sonarr and Radarr first, get the library structure and naming right, before a single downloader or indexer exists (Media Stack Part 2).
AI + Recipe Manager
Inconsistent tags, vague titles, pasted-text ingredients: using ChatGPT or Claude to fix a self-hosted recipe collection, with copy-paste prompts.
Mealie & Tandoor
Two recipe managers, deployed and compared honestly: compose for both, the Django host-header trap that took Tandoor down, what survives migrating.
Running AdGuard Home in Docker on Synology
A working docker-compose.yml for AdGuard Home on Synology, the port-53 conflict everyone hits, and the host-vs-bridge tradeoff you have to make.
Wake-on-LAN from Home Assistant
Home Assistant's Synology integration has no wake button. It only manages the NAS once it's on. Here's the WoL setup, and what silently breaks it.
USB Passthrough After VM Reboot
Synology Virtual Machine Manager doesn't re-attach a passed-through USB device after a VM reboot. Here's why, plus a self-healing script: ConBee II example.
My "Home" Dashboard
A tour of the mobile-first dashboard I actually use every day: what it's built on, what each tab shows, and the quick actions that save the most taps.
Home Battery Simulator
Six parallel Home Assistant battery simulations against real smart-meter data: seeing money saved per capacity before buying any hardware.
AI-Built Dashboards
How an AI assistant edits my Home Assistant config over YAML (file-first, not the UI) and three real failures that taught me to check its work.