Homelab
Docker, networking, backups and the things that broke along the way.
- Homelab
Zigbee2MQTT restarted 22,112 times, and Docker never told me
A container that lost its Docker network after a reboot, couldn't resolve the MQTT broker, and crash-looped for three days. How to spot it and fix it.
- Homelab
My homelab tour: one server, ~30 Docker containers
What runs on my home server, how it's organised with Docker Compose, and the lessons that shaped it.
- Homelab
Docker logs ate 2.4 GB on my server. Here's how to cap them
Docker's json-file logs grow forever by default. Two lines in daemon.json fix it, but only for containers created afterwards.
- Homelab
Jellyfin 'fatal player error' after an NVIDIA update: the driver/library mismatch
Ubuntu auto-updated the NVIDIA driver but kept the old kernel module loaded. GPU transcoding broke for weeks. Diagnosis and a reboot script that only reboots when needed.
- Homelab
Why 'docker stop' before a reboot left my whole homelab down for two days
restart: unless-stopped treats an explicit docker stop as 'the user wants this off'. A reboot script that stopped containers first stranded every service, including DNS.
- Homelab
After every internet outage, some sites broke for 15 minutes. Blame Unbound's infra cache
Unbound marks unreachable nameservers as down for 900 seconds by default and serves instant SERVFAILs. CDN-heavy sites suffer most. Three settings fixed it.
- Homelab
Ad blocking for the whole house with AdGuard Home + Unbound in Docker
Network-wide ad and tracker blocking plus your own recursive DNS resolver, with no Google or Cloudflare DNS. Compose file, router setup and the gotchas.
- Homelab
How my Jellyfin + *arr media stack fits together (Docker Compose)
Jellyseerr → Sonarr/Radarr → Prowlarr → qBittorrent → Jellyfin. How the pieces talk to each other, hardlinks, FlareSolverr and the settings that tripped me up.
- Homelab
Backing up a Docker homelab with one script (and no sudo)
A nightly cron job that tars every app's config with a throwaway Alpine container, keeps 7 copies and skips caches. Plus what it doesn't protect you from.
- Homelab
Running a private ChatGPT on a 4 GB GPU: Ollama + Open WebUI + SearXNG
What actually fits on a GTX 1050 Ti, why I baked the context length into the model, and how to give a local LLM web search with self-hosted SearXNG.
- Homelab
My homelab has zero open ports. Here's how I still use it from anywhere
Why I don't port-forward anything, how Tailscale replaces it, how to publish a website safely with Cloudflare Tunnel, and the hardening checklist I actually follow.
- Homelab
Clean music tags from YouTube downloads with yt-dlp (for Navidrome)
How I turned 'ARTIST - TITLE (OFFICIAL VIDEO) 1998.' into proper artist, title and album tags with yt-dlp's --parse-metadata and --replace-in-metadata.