Self Hosting

  • November 4, 2026

Turning a Google TV Box into an Ad-Free Streamer and Family Photo Frame

How I used the open-source cleanyourtv project and Claude Code to strip the ads and telemetry off a used Xiaomi TV Box S, then added Jellyfin, a photo screensaver from Immich, remapped remote buttons, Home Assistant control and an ESP32 Bluetooth keyboard that wakes the box.

Read more →
  • November 1, 2026

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.

Read more →
  • November 1, 2026

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.

Read more →
  • November 1, 2026

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.

Read more →
  • November 1, 2026

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.

Read more →
  • October 11, 2026

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.

Read more →
  • October 3, 2026

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.

Read more →
  • September 15, 2024

Making an Automatic Email Backup (Updated 9/15/2024)

A new version of the mbsync and Dovecot Docker images, now with Solr full-text search for fast IMAP searches.

Read more →
  • March 31, 2024

Nextcloud Docker with Nginx Proxy Manager

Running the php-fpm Nextcloud Docker image directly behind Nginx Proxy Manager, without a second nginx container.

Read more →
  • February 11, 2024

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.

Read more →
  • September 15, 2022

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.

Read more →
  • June 22, 2022

Making an Automatic Email Backup - Part 3

Repackaging the mbsync and Dovecot setup from Parts 1 and 2 into a pair of Docker images, configured entirely through environment variables.

Read more →
  • October 9, 2021

Making an Automatic Email Backup - Part 2

Adding self-signed SSL certificates to Dovecot and installing Roundcube, so the local mail archive is reachable from any browser on the network.

Read more →
  • October 4, 2021

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.

Read more →
  • September 29, 2021

The Birth of a Smart Home

How a couple of smart plugs turned into a Proxmox server, VLANs, and a fully self-hosted smart home: the network behind this blog.

Read more →