Published on June 05, 2025
Hey tech enthusiasts! Iām back with the fourth installment of my homelab series, where today weāll dig into the operating system powering my digital playground.
Having worked in datacenter environments for years, Iāve had the opportunity to get my hands dirty with more hypervisor platforms than most IT professionals typically encounter. This experience has profoundly shaped how I approach virtualization in my homelab today.
But before diving into my current setup, letās take a step back for those newer to the concept.
A hypervisor, at its core, is software that creates and runs virtual machines (VMs). Think of it as a magic layer that sits between your physical hardware and the operating systems you want to run, allowing multiple OS instances to share the same physical computing resources.
Hypervisors come in two main flavors:
The beauty of hypervisors is they let you maximize hardware utilization by running multiple isolated systems on a single physical machineāperfect for homelabbers with limited hardware but unlimited curiosity!
My virtualization journey began far earlier than my professional careerāwith VirtualBox that came pre-installed on my PC when I was just a kid. I remember the sense of wonder as I spun up my first VM on my Windows machine. It felt like some kind of digital sorcery, being able to run an entirely different OS inside a window.
Little did I know then that this simple tool would become the gateway drug to my future career path and homelab obsession.
As I mentioned in my previous post, my first serious homelab server was a repurposed Android TV box. With its ARM processor and limited resources, traditional virtualization was simply not an option. Instead, I ran an ARM-tuned Ubuntu directly on the hardware.
This constraint became a blessing in disguise, forcing me to learn about resource optimization and the nuances of ARM architecture. Sometimes, limitations push us to learn things we might otherwise skip over.
Once I upgraded to more capable hardware, I went through what I call my āhypervisor dating phaseāātrying various platforms to find the perfect match for my needs:
Each had their strengths. VMware felt like home after years of working with it professionally. Proxmox impressed me with how user-friendly it was while still offering enterprise-grade featuresātruly a homelab darling for good reason.
After all this experimentation, I had an epiphany: most of my workloads were running as containers, not full VMs. Using a heavy hypervisor started feeling like bringing a tank to a bike raceāimpressive but inefficient.
This realization led me to my current setupā¦
Today, my homelab runs primarily on Incus (based on LXD) with Lxconsole providing a GUI management interface. For the occasional need to run full virtual machines, I leverage Qemu on demand.
This approach gives me:
The vast majority of my services run as Docker containers, which Iāve found perfect for most homelab applications like Plex, HomeAssistant, Nextcloud, and various monitoring tools. Dockerās ecosystem makes deployment straightforward, updates simpler, and resource isolation clean.
For applications that donāt play nicely with Docker (like certain instances of Home Assistant or specialized services with specific kernel requirements), I use Incus containers (LXD-based). These provide a nice middle groundāmore isolated than Docker but less resource-intensive than full VMsāessentially giving me lightweight virtual machines with near-native performance.
You can learn more about how Incus works from this video by Awesome Open Source
This containerization-first approach aligns perfectly with modern DevOps practices. Itās lightweight, resource-efficient, and mirrors how many applications are deployed in production environments today.
The journey from hypervisors to containers wasnāt about finding the ābestā technologyāit was about finding the right tool for my specific needs. Thereās no one-size-fits-all solution in homelabbing!
The one piece currently missing from my homelab puzzle is redundant storage. My current setup uses local disks, which work fine but lack proper redundancy for the data I care about.
My next major upgrade will likely be adding a dedicated NAS, most probably running TrueNAS. This will provide:
My journey through various virtualization technologies taught me something important: the ābestā solution isnāt about whatās most powerful or what has the longest feature listāitās about what most efficiently meets your specific needs.
For a container-centric homelab like mine, the lightweight approach of running Docker containers for most services, Incus containers for Docker-unfriendly applications, and occasional Qemu usage provides the perfect balance of flexibility, resource efficiency, and ease of management.
What virtualization platform are you running in your homelab? Have you found yourself evolving toward containers as well? Share your experiences in the comments!
#HomeLab #Virtualization #Containers #Docker #Incus #DevOps #Hypervisor #SelfHosted