← ProjectsInfrastructure

Homelab

A self-hosted TrueNAS and Docker stack running services I'd otherwise rent — built for the same reason I build integrations: to understand every layer.

Why

You can't architect what you've only ever consumed.

Most of what I run at home is available as a subscription. That's the point. Renting a service teaches you its UI; running it teaches you its failure modes — what happens when the disk fills, when the container won't come back after a reboot, when DNS is the problem again.

That knowledge shows up directly in client work. When an ERP integration stalls, the question is never "which vendor do I call" — it's storage, network, auth, or the application, and I've debugged all four on my own hardware at 11pm.

What runs on it

  • Storage. TrueNAS with ZFS — snapshots, scheduled scrubs, and a backup strategy I've actually restored from, not just configured.
  • Containers. A Docker stack for everything else, defined as compose files so a rebuild is a checkout and an up, not an archaeology project.
  • Media. The usual self-hosted media chain, which doubles as the stress test for storage throughput.
  • Automation agents. Where the eBay listing pipeline and other side projects live.
  • Networking. VPN for remote access, so none of the above needs a port open to the internet.

Operating rules

  • Configuration lives in files, not in a UI I'll forget I clicked.
  • Anything I'd miss gets a tested restore path, not just a backup job.
  • If a service needs babysitting more than once, it gets fixed or removed.
Storage
TrueNAS / ZFS
Runtime
Docker, compose-defined
Access
VPN only, no public ingress
Status
Live, in continuous rearrangement