How I Turned Two HP Mini PCs
into a Proxmox Home Lab Cluster
Everything in my home lab runs on two HP mini PCs sitting quietly on a shelf. No loud server rack, no expensive enterprise hardware, no dedicated data centre power draw. Just two compact machines running Proxmox VE, forming a two-node cluster that hosts my entire home infrastructure.
This is the foundation post. Everything else I've written โ Pi-hole, Home Assistant, Unifi controller, the cybersecurity lab, the monitoring stack โ all of it runs here. Before those, you need this.
Why HP Mini PCs
HP EliteDesk and ProDesk mini PCs (the "G-series" form factor) are one of the best value home lab platforms available. They're enterprise-grade hardware sold in huge quantities to businesses, which means the used/refurbished market is flooded with them at low prices.
Key advantages over a traditional tower server or NUC:
- Power consumption โ typically 10โ35W idle, 65W max. A tower server idles at 80โ150W. Over a year, the difference is significant
- Noise โ near-silent at idle, barely audible under load
- Size โ both nodes fit on a small shelf. No rack needed
- Reliability โ enterprise components, not consumer-grade
- Upgradeable โ most accept DDR4/DDR5 SODIMMs, M.2 NVMe, and SATA drives
The Two Nodes
Both nodes are connected via Gigabit Ethernet to a Unifi PoE switch. They share a common Proxmox cluster, which means I can see and manage everything from a single web UI at any node's IP.
Why Two Nodes?
A single node is simpler, but two nodes give you things you can't get from one:
- Live migration โ move a running VM from node 1 to node 2 with zero downtime (useful when you want to do maintenance on a node)
- Workload separation โ security lab on node 1 (isolated), monitoring and services on node 2
- Redundancy โ if one node needs a reboot, services on the other keep running
- More total resources โ combined 64GB RAM and 12 CPU cores is a lot for home lab work
Setting Up the Proxmox Cluster
First, install Proxmox VE on both machines from the official ISO. Then, create the cluster on the first node and join the second:
# On pve1 โ create the cluster
pvecm create homelab-cluster
# Check cluster status
pvecm status
# On pve2 โ join the cluster (you'll need pve1's IP)
pvecm add [pve1-ip]
After joining, both nodes appear in the same Proxmox web UI. VMs and containers on either node are visible from either node's interface.
What's Running: The Full Workload Stack
Current workloads across both nodes
LXC Containers vs VMs: When to Use Each
Proxmox lets you run both full virtual machines (KVM-based) and LXC containers. Understanding when to use each saves a lot of RAM.
Use LXC containers for: Linux-only services where you don't need full OS isolation โ web servers, databases, Pi-hole, Unifi controller, monitoring stacks. Containers share the host kernel, so they're extremely lightweight. A Pi-hole container uses ~50MB RAM.
Use VMs for: Anything that needs its own kernel (Windows, HAOS, kernel-dependent software), security lab machines (you want full isolation between attacker and target), and anything where hardware passthrough is needed.
Storage Strategy
Each node has its own local NVMe as the primary storage pool (local-lvm โ thin-provisioned LVM). This is where VMs and containers live.
For backups, I use Proxmox Backup Server (PBS) โ also running as a container โ with a 1TB SATA drive on node 1 as the backup datastore. Nightly backup jobs run for all VMs and critical containers.
# Create a backup job in Proxmox
# Datacenter โ Backup โ Add
# Schedule: 02:00 every night
# Storage: pbs (Proxmox Backup Server)
# Selection: All VMs and containers
# Manual snapshot from CLI:
qm snapshot [vmid] "pre-update-$(date +%Y%m%d)"
Power and Physical Setup
Both mini PCs draw about 15โ25W at typical load. Combined, that's roughly 0.5 kWh per day โ a fraction of what a tower server would consume. In a year, the power cost is negligible.
Physical setup:
- Both nodes on a small shelf, stacked vertically on risers for airflow
- Connected to a small Unifi PoE switch (along with the APs)
- On a UPS (uninterruptible power supply) โ power blips shouldn't corrupt running VMs
- Static IPs assigned in the Unifi DHCP server for both nodes
Before the Home Lab Felt Like a Lab
When I first set this up, it was one machine, one node, no cluster. I ran Home Assistant in Docker on Ubuntu (not Proxmox), had no VLANs, and everything was a single point of failure. A kernel update that required a reboot took down everything.
The evolution to Proxmox as the hypervisor layer, and then adding the second node, changed everything. Proper isolation between workloads, snapshots before any change, the ability to live-migrate running VMs โ it started feeling like real infrastructure.
The hardware cost for both nodes was modest โ HP mini PCs on the refurbished market are genuinely good value. The RAM upgrades are the main cost, but 32GB per node gives plenty of headroom.
If you're building a home lab and don't know where to start, this is the answer: two HP mini PCs, Proxmox, and a small switch. Everything else builds on top of it.