Introduction: When a Simple Project Becomes an Obsession
Hey everyone—it's been three years. Three years since I posted about my "finished" home network setup. Back then, I thought I'd reached the peak: a Protectli box running OPNsense, Wi-Fi in the garage, and a tidy basement rack. I was so wrong.
What started as wanting to block ads with Pi-Hole turned into a full-blown infrastructure project. The Raspberry Pi was just the gateway drug. Today, I'm running a Lenovo M920Q Tiny with Proxmox, multiple Linux containers, and services I didn't even know existed back in 2023. If you're standing where I was three years ago—or if you're already down the rabbit hole—this is what happens next. And more importantly, how to navigate it without burning your network down.
The Raspberry Pi Reality Check: When Good Ideas Hit Hardware Limits
Let's start with the beginning of the escalation. Like many of you, I picked up a Raspberry Pi 4 with 4GB RAM. The plan was simple: install Docker, run Pi-Hole for network-wide ad blocking, and maybe add Home Assistant for some basic automation. Seemed straightforward, right?
It worked—for about two weeks. Then I added a few more Docker containers: a WireGuard VPN server, a simple file server, and a monitoring tool. Suddenly, the Pi was struggling. The SD card corruption stories I'd read about became my reality. The performance was... fine. But fine isn't good enough when you're trying to run services your family actually depends on.
The real turning point came when I tried to run Home Assistant with a few add-ons. The Pi would freeze during database updates. Zigbee coordination would drop. And don't get me started on trying to run Frigate for camera processing. The lesson here wasn't that Raspberry Pis are bad—they're fantastic for learning and specific tasks. But they're not enterprise hardware, and when you start treating them like it, you'll hit walls.
The Hardware Upgrade: Why I Chose the Lenovo M920Q Tiny
This is where things got serious. I needed real hardware—something with proper storage, reliable RAM, and enough CPU power to handle virtualization. After researching for weeks (and yes, probably over-researching), I landed on the Lenovo ThinkCentre M920Q Tiny.
Why this specific model? Several reasons that might help your own decision:
- Size and Power: It's genuinely tiny—about the size of a hardcover book—but packs an 8th or 9th gen Intel Core i5 or i7. Mine has an i5-8500T with 6 cores/6 threads. It sips power (35W TDP) but performs like a champ.
- Expandability: This was crucial. The M920Q has two DDR4 SO-DIMM slots (I maxed it to 32GB), supports NVMe SSDs for the OS, and has a 2.5" SATA bay for additional storage. There's even a PCIe slot if you get the right riser card.
- Reliability: It's business-class hardware. These things run in offices for years without issues. The cooling is solid, the build quality is excellent, and you can find them refurbished for reasonable prices.
I found mine on eBay with 16GB RAM and a 256GB NVMe for about $250. Added another 16GB stick and a 1TB SATA SSD for about $100 more. Total investment: $350 for a machine that outperforms most NAS devices and consumes less power than a light bulb.
If you're looking for similar options, the Dell OptiPlex Micro and HP ProDesk/EliteDesk Mini are in the same category. Check Lenovo ThinkCentre M920Q for current prices, but honestly, the refurbished market is where the value is.
Diving Headfirst into Proxmox: The Virtualization Game-Changer
Here's where the real transformation happened. I installed Proxmox VE (Virtual Environment) on the bare metal. If you're not familiar, Proxmox is an open-source virtualization platform that lets you run virtual machines (VMs) and Linux containers (LXC) on a single host.
Why Proxmox over just running Docker on Ubuntu? Several reasons that became apparent quickly:
- Isolation: Each service gets its own container or VM. If my Home Assistant container crashes, it doesn't take down Pi-Hole or my VPN.
- Snapshots: This is the killer feature. Before making any major change, I take a snapshot. If something breaks, I restore from snapshot and I'm back in business in minutes. No more spending weekends fixing broken updates.
- Resource Management: I can allocate specific CPU cores, RAM limits, and storage quotas to each container. My Pi-Hole container gets minimal resources (because it needs them), while my media server container gets more when it's transcoding.
The learning curve exists, but it's not as steep as you might think. The web interface is surprisingly intuitive. And the community support is excellent—when I hit a wall with GPU passthrough (for hardware transcoding), I found detailed guides written by people who'd solved exactly my problem.
My Current Container Setup: What's Running and Why
So what's actually running on this thing three years in? Here's my current stack, which has been stable for about a year now:
- LXC 101: Pi-Hole with Cloudflared for DNS-over-HTTPS. Lightweight, crucial, and isolated from everything else.
- LXC 102: Home Assistant OS in a VM (not LXC, because some add-ons need full VM privileges). This handles all my smart home devices—Zigbee, Z-Wave, and local API integrations.
- LXC 103: Docker host container. This is where I run all my Docker services: WireGuard VPN, Uptime Kuma for monitoring, a simple Nginx reverse proxy, and a few web apps.
- LXC 104: File server with Samba and NFS shares. This connects to the 1TB SATA SSD for media storage and backups.
- LXC 105: Development environment. When I want to test something new, I spin up a temporary container instead of messing with my production services.
Each container has its own IP address on my network, managed by OPNsense (which still runs on the separate Protectli box—more on that decision later). The total RAM usage sits around 12-16GB depending on activity, leaving plenty of headroom on my 32GB system.
The OPNsense Decision: Why I Kept It Separate
This is a common question in the home lab community: should you virtualize your router/firewall? Many people run OPNsense or pfSense as a VM on their Proxmox host. I considered it—hardware passthrough for network interfaces, snapshots before firewall rule changes, the whole package.
But I decided against it. And here's why:
My network needs to work for my family. If I'm tinkering with Proxmox—upgrading, rebooting, experimenting—I don't want to take down the internet. The Protectli box running OPNsense is rock solid. It has been running for three years without a single unexpected reboot. It handles VLANs, firewall rules, and traffic shaping without breaking a sweat.
There's also the security consideration. My router is my network's front door. Keeping it on dedicated, minimal hardware feels safer. If someone compromises a container on my Proxmox host (unlikely, but possible), they still can't touch my firewall rules or network segmentation.
Could I virtualize it? Absolutely. And if I were building from scratch with limited budget, I might. But having that physical separation gives me peace of mind. And when Proxmox needs maintenance (which it does, about twice a year for major updates), the internet stays up.
Backup Strategy: What I Wish I'd Known From Day One
Here's the part I messed up initially, and you shouldn't: backups. When I first set up Proxmox, I thought snapshots were backups. They're not. Snapshots live on the same storage as your containers. If your SSD dies, snapshots die with it.
My current backup setup took some trial and error:
- Proxmox Backup Server: I run this in a VM on the same host (yes, backing up to the same host isn't ideal, but hear me out). It handles incremental backups of all my containers and VMs. The backups are deduplicated and compressed.
- External Drive: Once a week, I sync the backup repository to an external USB drive. This gives me an air-gapped copy.
- Cloud Backup: For critical data (family photos, documents, Home Assistant configuration), I use automated scripts to package and encrypt everything, then upload to Backblaze B2. The cost is about $0.50 per month for my data volume.
The key insight? Test your restores. Every few months, I pick a container at random and restore it to a test environment. If you don't test, you don't have backups—you have hope.
Power Consumption and Noise: The Silent Considerations
When you're running hardware 24/7, two things matter more than you might expect: power draw and noise. My old setup (multiple Pis, switches, random devices) was drawing about 45 watts and sounded like a small fan convention.
The M920Q with Proxmox idles at around 12 watts. Under load (multiple containers active, media transcoding), it might hit 25-30 watts. The fan is virtually silent—I have to put my ear next to it to hear anything.
Total power for my entire network stack (OPNsense box, Proxmox host, switch, access points) is under 40 watts. At my electricity rate, that's about $35 per year. The Pis alone were costing more than half of that.
Noise matters too. This stuff lives in my basement, but sound travels. The business-class hardware is designed for office environments where noise matters. Consumer gear? Not so much.
Common Mistakes I Made (So You Don't Have To)
Let's be honest—I didn't get everything right. Here are the mistakes that cost me time, data, or sanity:
- Overcomplicating storage: I tried ZFS with multiple pools, RAID configurations, the works. For a single-drive system, it was overkill. Now I use ext4 for the OS drive and the SATA SSD separately. Simple, reliable, and easy to recover if something goes wrong.
- Not documenting changes: For the first year, I'd make changes and forget what I did. Now I keep a simple Markdown file with every change, why I made it, and the date. When something breaks six months later, I can trace back.
- Chasing the latest version: Proxmox updates are generally stable, but I once upgraded to a .0 release and spent a weekend fixing issues. Now I wait for the .1 or .2 release unless there's a critical security fix.
- Ignoring monitoring: For months, I had no idea if my services were up or down. Now I use Uptime Kuma with Telegram notifications. If Pi-Hole goes down, I know within minutes.
If you're just starting, consider hiring someone on Fiverr to help with the initial Proxmox setup. A few hours of expert guidance can save you weeks of frustration.
Where This Is Going Next: The 2026 Roadmap
So what's next? The system is stable now, but there's always room for improvement. Here's what I'm considering for the next phase:
- High availability: Adding a second Proxmox host for failover. This is probably overkill for a home lab, but it's interesting to learn.
- Better networking: My switch is getting old. I'm looking at managed switches with 2.5GbE ports to future-proof.
- More automation: I want to automate more of my home based on presence detection and routines. The hardware can handle it—I just need to build the automations.
- Security hardening: Regular vulnerability scans, better firewall rules between containers, maybe even a separate DMZ network for internet-facing services.
The beautiful thing about this hobby? It never really ends. There's always something to optimize, something new to learn, or a better way to do what you're already doing.
Getting Started: Your First Steps Today
If you're reading this and thinking about starting your own journey, here's what I'd recommend:
- Start with a Raspberry Pi—but know its limits. Use it to learn Docker, play with services, and understand what you actually want to run.
- Look for refurbished business hardware when you're ready to upgrade. The Lenovo/Dell/HP mini PCs are everywhere now.
- Install Proxmox on bare metal—not in a VM. You want direct hardware access.
- Start with LXCs, not VMs for most services. They're lighter and perform better for containerized applications.
- Implement backups before you need them. Seriously. Don't wait.
Don't try to build everything at once. Start with one service (Pi-Hole is perfect), get it working, understand it, then add another. The modular approach saves sanity.
Conclusion: Three Years Later, Still Learning
Looking back at my post from three years ago, I barely recognize that setup. What seemed "complete" then was just the foundation. The journey from Raspberry Pi to Proxmox powerhouse taught me more about networking, Linux, and system administration than any course or certification could have.
The best part? This isn't some enterprise budget project. The total hardware investment was under $500 spread over three years. The software is all open-source. The knowledge is freely available if you're willing to search, read, and occasionally break things.
Your home lab doesn't need to be perfect. It doesn't need to be enterprise-grade. It just needs to work for you, to solve your problems, and to be a platform for learning. Start small, document everything, and don't be afraid to ask for help when you're stuck.
Maybe I'll check back in another three years. By then, who knows what I'll be running. But I can guarantee it'll be more than I have today, and it'll be more interesting.
What about you? Where are you in your home lab journey? Drop a comment below—I'd love to hear what you're building, what problems you're solving, or what questions you're still trying to answer.