Ramblings of an aging IT geek
← Ramblings of an aging IT geek
homelab

why i swapped esxi for proxmox at home

Notes on moving the home lab off free ESXi to Proxmox VE, and why the combination of LXC, ZFS and an unlocked web UI won the argument.

A small server rack with cabling, lit by a single lamp

I ran the free ESXi licence at home for years and it did the job. The hypervisor itself is rock solid, which is exactly why I stayed put long after the friction started to grate. The friction was always around the edges. The free tier locks the API in ways that make automation annoying. The HTML5 client kept improving and kept not quite being finished. And anything resembling proper backup or storage management wanted vCenter, which wants money, which I was not going to spend on a box that exists so I can break things on purpose.

So over the holidays I rebuilt the main host on Proxmox VE 5.3. Here is what actually pushed me over.

Containers, not just VMs

The thing I underrated until I used it daily is LXC. Most of what I self-host (a DNS resolver, a reverse proxy, a couple of small web apps) does not need a full virtual machine with its own kernel and its own gigabyte of idle RAM. Under ESXi those were all VMs because that was the only option. Under Proxmox they are containers that boot in under a second and cost almost nothing at rest. The same web UI manages both, with the same backup and snapshot story, so I get to choose per workload instead of paying the VM tax everywhere.

A homelab dashboard showing running containers and VMs

ZFS, built in

ESXi's storage story for a home box is VMFS on a datastore, and that's about it. Proxmox ships with ZFS as a first-class citizen at install time. I get checksumming, snapshots, cheap clones and zfs send for moving datasets between machines, all without bolting anything on. The first time I cloned a container, broke it deliberately, and rolled it back in a couple of seconds, I knew I wasn't going back.

zfs list -t snapshot
zfs rollback rpool/data/subvol-101-disk-0@before-i-broke-it

The UI doesn't fight me

It's Debian underneath. That sentence is the whole pitch. When the web UI doesn't do the thing I want, I ssh in and it's a normal Linux box: qm and pct on the command line, configs in /etc/pve, nothing proprietary in the way. The API is open on the free version, so I can finally drive the lab from a script without reverse-engineering an undocumented endpoint or paying for the privilege.

The honest downsides

It is not all clean. ESXi's hardware compatibility list is conservative for a reason, and Proxmox will happily let you build something that isn't quite stable on consumer kit. Clustering wants careful thought about quorum if you go past one node. And ZFS will eat RAM for its ARC cache, so size accordingly rather than assuming your old ESXi memory budget transfers across.

For a single home host where I want containers, snapshots and a system I can actually take apart, though, it's the right tool. The migration was a weekend of moving VMs across, the rebuild was uneventful, and the box has been quietly humming along since. I'll write up the backup setup separately, because that's the part I previously got wrong and have now, finally, got right.