MY HOMELAB

Inside my homelab.

A two-node Dell OptiPlex Proxmox cluster and a Raspberry Pi running infrastructure services. The diagrams distinguish services already deployed from the next experiments.

Igor Gozdowski homelab setup
01 / THE SETUP

How I use the lab.

TWO-NODE PROXMOX CLUSTER

A shared management view.

server1 and server2 form one Proxmox cluster, so I can manage their virtual machines from the same interface.

The Raspberry Pi runs corosync-qnetd for the external quorum vote. If one node is unavailable, the remaining node can retain quorum when it can still reach the Pi.

SERVICES AND PRACTICE

Workload boundaries.

The website and game server have separate Debian VMs. On the Dell nodes, planned container services will run inside a guest rather than directly on the Proxmox host.

A dedicated practice VM gives Linux and Bash experiments their own space. Security training takes place on online lab platforms, separately from the services I host.

02 / ARCHITECTURE

How everything fits together.

Follow the network from the fibre connection to each device. Services marked “Planned” are part of the next build.

INTERNET External connectivity
FIBRE ONT ISP fibre connection
ROUTER Gateway / network access
NETWORK SWITCH Connects the homelab
server1Dell OptiPlex · Proxmox cluster node · hosted services
WEBSITEDebian VM + Nginx
MINECRAFTDebian VM + PaperMC · running
NGINX PROXY MANAGERPlanned · Docker · web proxy + HTTPS
server2Dell OptiPlex · Proxmox cluster node · metrics
PROMETHEUSPlanned · metrics collection
GRAFANAPlanned · resource dashboards
RASPBERRY PIDNS · availability monitoring · external quorum device
PI-HOLEDocker · DNS filtering
UPTIME KUMADocker · service availability checks
QDEVICEcorosync-qnetd · external quorum voteSupports the two-node Proxmox cluster
03 / THE MACHINES

Why the workloads are split.

CLUSTER NODE

server1 · Dell OptiPlex

ProxmoxDebianHosted services

I have assigned the hosted workloads to this node so their CPU and memory needs are easier to review together.

VM boundaries let me maintain each service separately, even when they share physical hardware.

View project →
CLUSTER NODE

server2 · Dell OptiPlex

ProxmoxPrometheusGrafanaMetrics

The planned metrics stack has its own node, making it easier to observe hosted workloads without sharing their host.

This separation has a limit: dashboards on this node will also be unavailable if it goes down.

View project →
DNS · AVAILABILITY · QUORUM

Raspberry Pi · Infrastructure Services

Pi-holeUptime KumaQDevice

Keeping this device outside the Dell hosts lets availability checks continue during a node outage, provided the Pi and network remain available.

Its quorum service supports cluster voting; it is not a third Proxmox host and does not run the cluster’s VMs.

View project →
04 / NEXT EXPERIMENTS

Put the cluster to the test.

Next, I want to observe what happens when the layout changes.

  • Record cluster quorum and service availability with one node offline.
  • Try moving a suitable guest between nodes and document the prerequisites.
  • Compare resource use before and after changing a guest’s placement.
  • Check which monitoring information remains accessible during the test.
QUESTIONS TO ANSWER

What would I change next?

Where does the lab run out of headroom first? Which workloads benefit from moving? I want measurements to guide the next hardware or configuration change.

My next changes will be guided by the results, rather than adding hardware without a clear purpose.

05 / PROJECT DETAILS

From layout to implementation.

Explore the configurations, service fixes, earlier builds and security-learning examples behind the portfolio.