My Lab

A self-hosted playground for learning, tinkering, and building.

Last updated: July 18, 2024 lab self-hosting proxmox

What started as a Raspberry Pi on a desk has grown into a full Proxmox server with GPU passthrough, VPN tunneling, and self-hosted AI tools. This is where I experiment, break things, and learn.

Read the full story → The cool home "Datacenter" I imagined

The cool home "Datacenter" I imagined


Hardware

Mini-ITX Workstation PC running Proxmox VE

Primary Server (Proxmox VE)

CPU:
AMD Ryzen 9 5900X (12-core / 24-thread)
RAM:
64GB DDR4
GPU:
NVIDIA RTX 3070 8GB (passthrough to File Server VM)
Storage:
1TB NVMe SSD + 4TB HDD + 2TB HDD
OS:
Proxmox VE Community Edition
Raspberry Pi 4 4GB — serving since 2020

Secondary Server (Raspberry Pi 4)

CPU:
Broadcom BCM2711 (4-core ARM Cortex-A72)
RAM:
4GB LPDDR4
Storage:
32GB microSD + USB 3.0 HDD Docking (2TB + 4TB)
Use:
Retired from primary duties, kept as backup

Virtual Machines

Proxmox VE server node showing all VMs

Proxmox VE dashboard showing the server node

File Server

Immich, Samba, GPU passthrough

14 vCPU 50GB RAM 155GB + 1TB SSD

Docker Server 1

Containerized services

2 vCPU 4GB RAM 60GB

Ghost Server

Blog CMS

2 vCPU 2GB RAM 50GB

MySQL Server

Database server

2 vCPU 4GB RAM 30GB

Home Assistant

Smart home automation

2 vCPU 4GB RAM 32GB

Services

Media & Storage

Immich — Self-hosted Google Photos with AI face grouping and CLIP search (GPU accelerated)
Immich interface — looks just like Google Photos

Immich interface — looks just like Google Photos

Samba — Network file sharing across devices
Sonarr / Radarr — Automated media management
Plex — Self-hosted streaming

Development & AI

Lobe Chat — Feature-rich LLM chat UI with plugin support and local model integration
Lobe Chat working with Stable Diffusion

Lobe Chat working with Stable Diffusion

Ollama — Local LLM inference (Llama 3, StarCoder, Gemma)
Stable Diffusion Web UI — AI image generation with AUTOMATIC1111
Stable Diffusion Web UI

Stable Diffusion Web UI

Infrastructure

Ghost CMS — Blog platform
Pi-Hole — DNS-level ad blocking (router-wide)
Home Assistant — Smart home automation
Nginx — Reverse proxy (on cloud VPS)
OpenVPN — Secure tunnel between home server and cloud VPS

Network Architecture

VPN architecture — Cloudflare → DigitalOcean VPS → VPN Tunnel → Home Network → Proxmox

How It Works

  1. 1. A cheap DigitalOcean droplet ($6/mo) provides the public IP
  2. 2. OpenVPN server on the droplet creates secure tunnels to each home VM
  3. 3. Nginx on the droplet reverse-proxies requests to the appropriate VM via VPN
  4. 4. Cloudflare sits in front for DDoS protection and SSL termination
  5. 5. This saves ~$13/mo compared to upgrading to an ISP plan with a public IP

Monthly Costs

Biznet 150Mbps Internet ~$23/mo
DigitalOcean Droplet ~$6/mo
Electricity (estimate) ~$6/mo
Total ~$35/mo

Curious about the full story? I wrote a detailed blog post about my journey from a Raspberry Pi to this setup.

Read "My Homelab Journey"