Read more about the article Rebuilding My Docker Homelab as a Three-Node GPU k3s Cluster
The homelab moves from a single Docker host to a three-node GPU k3s cluster on Proxmox. TrueNAS, pfSense, HAProxy, and Traefik support storage and routing.

Rebuilding My Docker Homelab as a Three-Node GPU k3s Cluster

For several years, most of my homelab ran as Docker containers on a single host. By the time I started this migration, that host was running roughly 25 containers covering GitHub Actions runners, website/cert monitoring, photo management, 3D printing, budgeting, a media server with OTA live TV, and the services…

0 Comments
Read more about the article WordPress Behind Cloudflare: It Was Supposed to Take an Afternoon
WordPress behind Cloudflare is paired with server stats and a 503 warning.

WordPress Behind Cloudflare: It Was Supposed to Take an Afternoon

One of the recurring themes in my homelab projects is that I consistently underestimate how long "simple" changes will take. Putting this blog behind Cloudflare seemed like one of those changes. The goal wasn't particularly ambitious. I wanted the benefits Cloudflare offers almost by default: caching, DDoS protection, hiding the…

0 Comments
Read more about the article A Product Architect’s Guide to Technical Debt
Technical debt is framed as a trade-off between speed now and consequences later.

A Product Architect’s Guide to Technical Debt

Technical debt has one of the worst branding problems in technology. Mention it in a planning meeting, and people immediately picture reckless shortcuts, sloppy code, and developers making bad decisions that future versions of themselves are forced to clean up. It becomes something to avoid, minimize, or eliminate entirely. Over…

0 Comments
Read more about the article Running a Darkan World Server in CubeCoders AMP
Running a Darkan world server in CubeCoders AMP with Java App Runner, MongoDB, and client access.

Running a Darkan World Server in CubeCoders AMP

I recently went down the rabbit hole of getting a Darkan world server running under CubeCoders AMP. Darkan is an open-source/community RuneScape private server project with its own cache, client, world server, and lobby architecture. The server is based on circa-2012 content. The setup is not a one-click AMP template,…

0 Comments
Read more about the article Reclaiming Space on Ubuntu VMs with ncdu, Cleanup Scripts, Discard, and fstrim
A dark technical infographic summarizes how ncdu, cleanup scripts, discard, and fstrim reclaim storage on Ubuntu VMs, contrasting before-and-after usage.

Reclaiming Space on Ubuntu VMs with ncdu, Cleanup Scripts, Discard, and fstrim

I had one of those homelab maintenance tasks that started as a simple disk space check and turned into a useful reminder about how virtual disks actually behave. The first VM was a self-hosted GitHub Actions runner on Ubuntu. It had accumulated a pile of CI debris: old workspaces, pip…

0 Comments