About Home Server Guides

Hi. I'm John.

This is a collection of things I've learned about and built in my home lab.

I started my home lab in 2020. I had only a couple of SBC’s, one of which (Radxa Rock Pi 4B) had a PCIe connector, a 1 TB NVMe drive, and an external USB drive for backups. I learned a lot playing with that little guy, especially Docker and networking.

In January 2025, I decided to build a "proper" NAS. "Proper” for me really just meant a reliable machine to store and share files with my friends and family, not host any services. So, I bought a Raspberry Pi 5 with 8GB RAM, a quad NVMe HAT, four 2 TB NVMe drives, and a USB SSD boot drive, running DietPi and using mergerfs and SnapRAID.

Put your headlamp on, because here’s where I go down the rabbit hole.

I was at the end of the build, ready to deploy, when my wife asked, “What are we going to do with those DVD’s I had made from our 25 years of home videos?”

Hmm.

The Pi 5 PCIe connector is only PCIe Gen 3×1, so it can't provide much in the way of sustained data throughput without it being thermally . It also has zero support for transcoding, so I ripped the DVD’s into files using the best format for playback on our 1st Gen Apple TV 4K, stored them on the NVMe drives, and set up Jellyfin. I also copied over all of the smartphone videos we saved in iCloud.

Fuggedaboutit.

Watching the videos from the ripped DVD’s was fine, but playback of any of our smartphone videos was a sh*t show. To watch them, I would have to make sure that any video I put on the NAS was properly encoded - and it would all fall on my shoulders to figure out a solution because no one else in my family even knows what the word “encoding” means.

After watching people build home labs and NAS’ out of just about anything with an x86 CPU, I decided to up my game a bit and get a mini PC. I couldn't decide what to buy, so I finally just went with what I knew and purchased a Late-2018 Mac mini from an eBay seller.

It’s got an 8th Gen i7 with an iGPU that supports QuickSync (for media transcoding), 1 TB boot drive, four Thunderbolt 3 ports, and 64 GB RAM. I also bought a four-bay Thunderbolt NVMe enclosure so I could repurpose the drives from the Pi build and finally, I connected a 6 TB rust drive for SnapRAID parity.

Then I realized, “I have a Big Boy Computer now! I can run Proxmox and virtual machines!” And off I went. It was my first real experience with virtualization and I learned a lot. I also learned about replication, clusters and high-availability.

So, if one Mac mini is good, two would be better, right? But then, you need a third for high-availability, so why not? 😈

Now, all of my services are centralized in a Proxmox cluster with three identically configured machines using Ceph shared storage. Some services are running in Docker in an LXC, but most are running in LXC’s thanks to Proxmox Community Scripts.

It’s all overkill (for me) but it was a fun project.

The best part is that I don’t really worry about a commitment to self-hosting important services for my business, family, and friends, and possibly have them go down due to my DevOps incompetency. This set up feels much more stable and manageable.

Not included (because this introduction is already too long): a new mini PC running OPNsense, numerous external USB backup drives, a Dell laptop for FAFO projects, a dedicated mini PC for Home Assistant and Frigate, and a new (to me) *arr stack.

Welcome aboard.