For a long time my “homelab” was one NUC running a handful of Docker containers and a prayer. It worked fine right up until the NUC’s fan started sounding like a dying hard drive, and I had nowhere to move anything while I figured out why.
So: three secondhand mini PCs, a dumb 2.5Gb switch, and an afternoon.
The hardware
Nothing exotic — three identical mini PCs (16GB RAM, 512GB NVMe each) picked up for not much money. The only real requirement was that they were identical enough that I wouldn’t have to think about mismatched CPU features when live-migrating VMs later.
Cluster setup
Proxmox VE makes the cluster part almost boring, which is exactly what you want from infrastructure:
# on the first node
pvecm create homelab
# on each additional node
pvecm add 192.168.1.10
Once all three showed up in pvecm status, I set up a Ceph pool across the local NVMe drives for shared storage. That’s the part that actually makes the cluster useful — without it, HA migration just moves a VM’s definition, not its disk.
What I’d do differently
- Use a dedicated NIC for Ceph traffic from day one instead of retrofitting VLANs after the fact
- Label the drive bays before racking anything, not after
Next up: getting alerting wired so I find out about a failed node from Prometheus and not from a confused Home Assistant dashboard.