Homelab Server Build Guide¶
Welcome to the complete guide for building a production-grade homelab server from scratch. This comprehensive documentation covers everything from bare metal Proxmox installation to a fully automated media stack with GitLab CI/CD, authentication, and monitoring.
What You'll Build¶
This guide documents the complete build process for a homelab infrastructure featuring:
Physical Infrastructure:
- Dual ZFS Storage Pools: RAID1 SSDs for performance, RAID0 HDDs for capacity
- Proxmox VE: Enterprise virtualization platform on AMD Ryzen 9 7950X with 64GB RAM
- Three-VM Architecture: Kubernetes cluster (control plane + worker) and GitLab server
Container Platform:
- Talos Linux: Immutable Kubernetes nodes with Cilium CNI
- Longhorn Storage: Distributed storage for high-performance workloads
- NFS Integration: High-capacity storage for media files
DevOps & Automation:
- Self-hosted GitLab CE: With container registry and HAProxy load balancing
- GitLab CI/CD: Infrastructure-as-code deployment pipelines
- VS Code Integration: Seamless development workflow
Security & Authentication:
- Authelia SSO: Authentication gateway with Redis backend
- nginx-ingress: SSL termination with cert-manager automation
- Role-based Access Control: Admin, user, and guest access levels
Application Stack:
- Complete Media Automation: 10+ integrated services (Sonarr, Radarr, Plex, Overseerr, Tautulli, etc.)
- Usenet Integration: SABnzbd with Spotweb indexer and MariaDB backend
- Quality Management: Automated profile synchronization with Recyclarr
Hardware Architecture¶
Primary Server Specifications:
- CPU: AMD Ryzen 9 7950X (16 cores/32 threads)
- RAM: 64GB DDR5
- Storage:
- 2x 2TB NVMe SSD (ZFS RAID1 -
rpool) - 2x 20TB SATA HDD (ZFS RAID0 -
bulk-storage) - GPU: Nvidia GTX 1080ti
- Network: 1Gb Ethernet with static IP configuration
Storage Strategy:
- Performance Pool: SSD-based for OS, VMs, and Kubernetes storage
- Capacity Pool: HDD-based for media files, backups, and ISO storage
- Resource Management: Dataset quotas prevent storage exhaustion
Network Architecture¶
External Access Flow:
Internet → Router (80/443) → GitLab Server → HAProxy → K8s Ingress → Authelia → Services
Service Organization:
- Public Services: Portfolio website, media requests (Overseerr)
- Private Services: Media management behind Authelia authentication
- Streaming: Direct Plex access for media consumption
- Administrative: GitLab, container registry, and monitoring
Complete Build Process¶
This guide covers the full infrastructure build in 10 sequential steps:
Core Infrastructure¶
- Proxmox Installation & ZFS Storage - Dual-pool ZFS setup with performance tuning
- Virtual Machine Setup - Three-VM architecture with Talos and Ubuntu ISOs
- Talos OS Configuration - Immutable Kubernetes cluster with Cilium CNI
Networking & Storage¶
- Ingress Controller & Certificate Management - nginx-ingress with automated SSL
- Storage Systems - Longhorn distributed storage and NFS server setup
DevOps Platform¶
- GitLab Server Installation - GitLab CE with HAProxy, nginx, and container registry
- GitLab Runner & CI/CD Setup - Docker executor with Kubernetes deployment integration
- Authelia Authentication Gateway - SSO with Redis backend and role-based access
Development & Media¶
- VS Code GitLab Integration - GitLab Workflow extension with HTTPS authentication
- Usenetbox Media Stack - Complete media automation with 10+ integrated services
Key Features Achieved¶
Enterprise-Grade Infrastructure:
- ✅ Production Kubernetes: Talos Linux with Cilium networking
- ✅ Automated Deployments: GitLab CI/CD with infrastructure-as-code
- ✅ SSL Everywhere: cert-manager with Let's Encrypt automation
- ✅ High Availability Storage: Longhorn with ZFS backend
- ✅ Single Sign-On: Authelia protecting all private services
- ✅ Container Registry: Self-hosted with GitLab integration
Media Automation Excellence:
- ✅ Complete Automation: TV shows, movies, and subtitles
- ✅ Quality Management: Automated profile synchronization
- ✅ Request Management: User-friendly media request interface
- ✅ Analytics & Monitoring: Comprehensive Plex analytics
- ✅ Database Integration: MariaDB for Spotweb indexer
Development Workflow:
- ✅ VS Code Integration: Seamless GitLab workflow
- ✅ Container Builds: Kaniko-based image building
- ✅ Secret Management: GitLab CI/CD variables and Kubernetes secrets
- ✅ Monitoring & Logging: Built-in health checks and rollout verification
Target Audience¶
This comprehensive guide is designed for:
- System Administrators wanting to build production-grade homelabs
- DevOps Engineers interested in complete CI/CD automation
- Media Enthusiasts seeking enterprise-level media automation
- Friends and Colleagues wanting to replicate this exact infrastructure
- Future Reference when expanding or rebuilding the system
Documentation Standards¶
- Domain Templating: All configurations use
example.comfor easy customization to your domain - Security First: Every service includes proper authentication and SSL termination
- Production Ready: All configurations include resource limits, health checks, and monitoring
- CI/CD Automation: Deployment guides prioritize GitLab CI/CD over manual procedures
- Comprehensive Troubleshooting: Each step includes detailed troubleshooting and verification
Ready to build your production homelab? Let's start with the foundation!