Nothing in my home lab runs on bare metal anymore, and rebuilding it has never been less painful

Nothing in my home lab runs on bare metal anymore, and rebuilding it has never been less painful

Published Sep 15, 2026, 10:00 AM EDT His love of PCs and their components was born out of trying to squeeze every ounce of performance out of the family computer. Tinkering with his own build at age 10 turned into building PCs for friends and family, fostering a passion that would ultimately take shape as a career path. Besides being the first call for tech support for those close to him, Ty is a computer science student, with his focus being cloud computing and networking. He also competed in semi-pro Counter-Strike for 8 years, making him intimately familiar with everything to do with peripherals. A home lab can take on so many different forms, and for many, it starts with a bare install of a Linux OS that they're familiar with. For me, that was Ubuntu, and while it was a distro I was intimately familiar with, running services on the bare metal came with a few very potent downsides, and it causes deferred upgrades, config rot, and ultimately, it causes you to feel like you're walking on eggshells. Almost nothing in my lab runs directly on the bare metal anymore, and the exceptions to the rule are very deliberate. Each service runs on its own container or virtual machine, complete with its own filesystem, dependencies, updates, and snapshots. The host runs Proxmox, and while I haven't really had to do a full rebuild, running a hypervisor makes any potential disaster a lot easier to manage than it would be with all of the services living on a single OS. One bad move in a container can be undone instantly LXCs are OP One of the most load-bearing containers on my lab is Immich, which is a self-hosted replacement for Google Photos and iCloud storage. It has great feature parity with both of those, and one of the best things about it is its face recognition and smart search that rely on GPU acceleration. You could perform full PCIe passthrough that hands the card directly to a VM, or if you were to run this on bare metal, the service could just grab it that way, but an LXC does something a lot more flexible and it helps a lot with configuration. The Nvidia driver required to drive my server's RTX 3080 stays installed on the Proxmox host, but the container is given access to the device via bind mounts and cgroup permissions, which allows for multiple containers to share the same card. Full passthrough doesn't allow for that. The catch is that both the driver on the host and the container need to be exactly the same. Running an upgrade on one side but not the other can brick that part of the service, and it's a pain to fix if you're not aware or looking for that. This happened to me: the versions drifted apart and face recognition and search just ceased to work on my Immich instance. Instead of continuing to chase an issue that I couldn't find, I simply rolled back the container from a snapshot and restored the library from a cold backup. That rolled the drivers back to their working versions and solved the problem. Restoring from a snapshot on bare metal would've cost me any changes I made across the entire system, not just on Immich, and that's one of the biggest issues with running services on bare metal. You'd have to restore packages you installed, configuration changes on other services, and anything else you might've tweaked in the meantime. Isolation is valuable A hypervisor gives that to you In my home lab, each service carries its own userspace, which is incredibly valuable not only for experimentation, but for general stability as well. When a service requires a new Node version or a different distro, I can just spin up two different containers instead of trying to mix oil and water. A hypervisor like Proxmox really puts the "lab" in "home lab", because it grants you so much flexibility to try new things. If I want to try a new distro or even a risky piece of software, I can spin up a container, test it, and then erase it like nothing happened in a matter of 30 minutes. The host stays exactly the way it was before, with no orphaned systemd units, databases, user accounts, and other accumulated junk. While nobody forced me to also use my lab as a NAS, running native ZFS puts my storage into a pool that can then be bind-mounted to whichever containers need it, and destroying a container doesn't risk anything in that pool, either. I do run certain things directly on the host And I have a dedicated machine for bare metal use The claim that "nothing runs on bare metal" when you use Proxmox can't be true, because it is a Debian install on your hardware, and it's the foundation that everything else depends on. It's the services themselves that don't run on the bare metal. There's also a machine that's part of my lab that runs plain-jane Ubuntu 26 LTS, and there's a good reason for that: local LLM testing. When benchmarking any type of inference, I'd like to keep as much of the hardware in one place as possible. That's impossible with my main rig with the RTX 3080, because as I run an AI workload, someone in my family could be uploading to Immich simultaneously, triggering a bunch of facial recognition jobs. A hypervisor with containerization should be the default for running services There is some complexity that comes with running a hypervisor on your home lab, especially one like Proxmox, but it's almost entirely front-loaded. Once you get past the subscription error message, creating your first container and storage pool, and learn how to recover one if you mess something up, the rest of it is gravy. They're certainly not magic and won't save you if you have no plan, but it's certainly a lot better than having every service directly on the bare metal.

Original Source

Read the full article at Xda-developers →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.