Why Build a Homelab?
A homelab lets you experiment without risk. Test deployment strategies, break things safely, and learn infrastructure patterns before applying them to client work.
Hardware Choices
You don't need enterprise hardware to start.
- Entry level: Old desktop PC, Raspberry Pi cluster
- Mid-tier: Used enterprise server (Dell R720, HP DL380)
- Serious: Multiple servers with shared storage
Start small and expand as needed. Power consumption matters for 24/7 operation.
Virtualization Platform
Proxmox VE is my recommendation for homelabs:
- Free and open source
- Supports both VMs and containers (LXC)
- Web UI for management
- Built-in backup solution
- Clustering for high availability
Alternatives: VMware ESXi (free tier limited), XCP-ng, or plain KVM/libvirt.
Storage Architecture
Separate your storage from compute when possible.
- Local storage: Fast SSDs for VMs, HDDs for bulk storage
- Network storage: TrueNAS for NFS/iSCSI, or Ceph for distributed storage
- Backup storage: Separate drives or NAS for backup targets
Always have redundancy - RAID is not a backup!
Network Design
Segment your network like you would in production:
- Management VLAN: Hypervisor access, out-of-band management
- Production VLAN: Your "production" workloads
- DMZ VLAN: Public-facing services
- Storage VLAN: Dedicated for storage traffic
Use a managed switch that supports VLANs. pfSense or OPNsense for routing/firewall.
Essential Services
Every homelab needs:
- DNS: Pi-hole or AdGuard Home (also blocks ads)
- Reverse proxy: Traefik or nginx for routing
- Monitoring: Prometheus + Grafana
- Secrets: HashiCorp Vault or Bitwarden
- Git: Gitea or self-hosted GitLab
What I Run
My homelab runs:
- Proxmox cluster (3 nodes)
- TrueNAS for storage
- Kubernetes cluster for container workloads
- Self-hosted CI/CD (Woodpecker)
- Monitoring stack (Prometheus, Grafana, Loki)
This mirrors the infrastructure I deploy for clients.
