The Lab – VMs

No homelab running Proxmox is complete without a bunch of VMs. I’ve gone a bit heavier on LXC containerization this time, though, because I can cram more services onto the box.

I generally prefer to run Debian wherever I can. It’s very lightweight out of the box, and it can run anything I throw at it without any trouble. I don’t need a brand-new kernel, or the absolute latest packages — I can containerize whatever needs newer stuff anyway. Right now, LXC is responsible for Pi-Hole, Squid (on Alpine), Homebridge, a Minecraft server, and source control using Gitea.

I typically throw experimental or heavier stuff on VMs. The single heaviest service I’m currently running is Plex, as that one has a GPU passed through to it. It’s running Ubuntu and is one of the few things I migrated from the old server. Yeah I could have migrated the media over, but moving metadata and playlists over would have been more work than I’d have wanted to do at the time.

I currently have two VMs running Docker. One’s on Debian and the other is on Ubuntu. I’m migrating everything over from Ubuntu to Debian because I just prefer it. My previous source control was on Gitlab and is on a Debian VM. My most recent addition is an Ubuntu VM for Nextcloud, which is going to take control of some stuff from the Ubuntu-based Docker VM — the Nextcloud Snap is trivially easy. The last one is running Rocky Linux 9 and is the way I get into the house remotely, via Tailscale.

The old Ubuntu VM is running an ancient version of Ansible AWX that keeps everything except the Rocky Linux VM up-to-date and happy. The Rocky VM updates itself as needed, including live-patching its kernel.

Even with all of this, the server’s running at less than 50% memory utilization, and CPU of less than 2%. The Ryzen 9 3900X is overkill for all of this, as is the 128GB of RAM I threw into the box, but I’ve got plenty of room to play around.

So … pretty plain, really, but it does everything I need it to.