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

  1. Proxmox Installation & ZFS Storage - Dual-pool ZFS setup with performance tuning
  2. Virtual Machine Setup - Three-VM architecture with Talos and Ubuntu ISOs
  3. Talos OS Configuration - Immutable Kubernetes cluster with Cilium CNI

Networking & Storage

  1. Ingress Controller & Certificate Management - nginx-ingress with automated SSL
  2. Storage Systems - Longhorn distributed storage and NFS server setup

DevOps Platform

  1. GitLab Server Installation - GitLab CE with HAProxy, nginx, and container registry
  2. GitLab Runner & CI/CD Setup - Docker executor with Kubernetes deployment integration
  3. Authelia Authentication Gateway - SSO with Redis backend and role-based access

Development & Media

  1. VS Code GitLab Integration - GitLab Workflow extension with HTTPS authentication
  2. 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.com for 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!