Back to projects
Live

Homelab Proxmox — Self-Hosted Infrastructure

On-premise virtualization cluster with GPU passthrough, distributed storage and operational automation

Proxmox VEKVM/QEMULXCMikroTik RB5009Synology DS923+Cloudflare TunnelNetdataProxmox Backup Server

Context

Problem and context

The homelab was born from the need to have a realistic test environment to experiment with technologies before bringing them to production, host self-hosted services and develop skills on stacks that in enterprise environments would require significant time and budget.

The infrastructure is completely separate from the work network and managed as a production environment: high availability where possible, automated backups, active monitoring.

Solution

Implemented solution

Proxmox VE as the main hypervisor on high-end consumer hardware (Ryzen 7 5700G, 32 GB RAM, NVMe storage) with GPU passthrough to dedicated VMs for AI workloads. Network segmented in VLANs to separate lab traffic, IoT, exposed services and management.

Hardware and Architecture

Main host

AMD Ryzen 7 5700G, 32 GB DDR4 RAM, 2 TB NVMe SSD system + 4 TB storage, NVIDIA A10 24 GB GPU (AI passthrough), AMD RX580 (media passthrough).

Network

MikroTik RB5009 as main router/firewall with VLAN tagging on all segments: VLAN 10 Management, VLAN 20 Lab, VLAN 30 IoT, VLAN 40 Exposed Services.

Storage

Synology DS923+ (4 bay, 2x8TB RAID1) as NAS storage for backups and media. Proxmox backups go to PBS (Proxmox Backup Server) in a dedicated VM with deduplication. 3-2-1 strategy: local snapshot, NAS backup, offsite copy on Backblaze B2.

Production Services

15+ active VMs and LXC containers, including:

- danplab.com (LXC): Next.js site with Nginx reverse proxy

- n8n (Docker LXC): workflow automation and API integration

- Ollama + Open WebUI (VM with A10 GPU passthrough): self-hosted LLM

- Grafana + Prometheus + Netdata: monitoring stack

- Hermes Agent (VM): AI agent with Discord bridge

- Nextcloud (LXC): file sync and internal collaboration

- AdGuard Home (LXC): DNS ad-blocking + split-horizon

- WireGuard (LXC): VPN gateway for secure remote access

Automation and Maintenance

Automatic snapshots before updates via Proxmox hooks. Bash scripts for old snapshot cleanup and backup integrity verification. Uptime monitoring and alerting via Netdata with Discord notifications. Automated OS updates with unattended-upgrades on containers and manual maintenance window for critical VMs.

Outcomes

Results

Uptime >99.5% on core services over the last 12 months
RPO < 24h, RTO < 30 minutes thanks to snapshots and PBS
Operating cost: ~€35/month in electricity for a service that would cost 5-10x in the cloud
Realistic test environment that enabled 3 projects to reach enterprise production