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

Next up: getting alerting wired so I find out about a failed node from Prometheus and not from a confused Home Assistant dashboard.