๐Ÿ–ฅ๏ธ Lab Builds

How I Turned Two HP Mini PCs
into a Proxmox Home Lab Cluster

๐Ÿ“… Jun 14, 2026 โฑ 9 min read ๐Ÿท๏ธ Proxmox ยท Virtualisation ยท Home Lab ยท HP Mini PC ยท LXC ยท Clusters


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:

The Two Nodes

Node 1 โ€” pve1
Model: HP EliteDesk Mini G-series
CPU: Intel i5 (6-core)
RAM: 32GB DDR4
Storage: 512GB NVMe + 1TB SSD
Role: Primary workloads, VMs
Node 2 โ€” pve2
Model: HP EliteDesk Mini G-series
CPU: Intel i5 (6-core)
RAM: 32GB DDR4
Storage: 512GB NVMe
Role: Monitoring, containers, backup target

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:

Two-node cluster caveat Proxmox clusters use quorum for high-availability decisions. With only two nodes, you don't have true quorum โ€” if one node loses connectivity, the other can't automatically determine it should take over (split-brain risk). For a home lab, this is fine. Just know that automatic HA failover requires either 3+ nodes or an external quorum device.

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

pihole LXC DNS ad blocking (see Pi-hole post)
homeassistant VM Tiasha Home smart home (HAOS)
unifi-controller LXC Unifi Network Application
monitoring LXC Grafana + InfluxDB + Docker stack
kali VM Cybersecurity lab attacker VM
metasploitable VM Vulnerable target (isolated VLAN)
gymtracker-backend LXC Flutter GymTracker app backend
win-server VM Windows Server AD lab (learning)

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.

Resource tip Start containers with minimal resources and adjust up. A Pi-hole CT runs fine with 1 vCPU and 256MB RAM. A Home Assistant VM needs at least 2 vCPUs and 2GB RAM. Over-provisioning everything upfront wastes RAM that could run more workloads.

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:

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.

Tech Used Proxmox VE ยท HP EliteDesk Mini ยท Intel i5 ยท KVM Virtualisation ยท LXC Containers ยท Proxmox Backup Server ยท Unifi Switching ยท ZFS / LVM-thin storage