en | fr

Homelab

| Updated on 2025-12-02 | 8 mins read

My personal homelab infrastructure project, running since January 2023. A space for experimentation, learning, and developing IT skills without professional constraints.

1. Overview

The homelab project provides a complete infrastructure for experimenting with enterprise-grade technologies, developing applications, and learning modern DevOps practices.

2. Hardware Infrastructure

The foundation of this homelab consists of three physical machines connected through a professional-grade network infrastructure. The setup prioritizes high availability, energy efficiency, and quiet operation suitable for a home environment.

The Dell PowerEdge T330 serves as the primary compute node, while two Lenovo ThinkCentre M715Q mini PCs provide additional compute capacity in a compact form factor. All machines are connected through a Ubiquiti UDM PRO SE, which handles network management, VPN services, and advanced firewall capabilities.

Diagram

2.1. Hardware Specifications

2.1.1. Dell PowerEdge T330

  • Enterprise-grade server

  • Custom modifications for silent operation

  • Primary compute node

  • Running Proxmox hypervisor

2.1.2. Lenovo ThinkCentre M715Q (x2)

  • Compact mini PCs

  • Energy-efficient compute nodes

  • Running Proxmox hypervisor

  • Part of HA cluster

2.1.3. Network Equipment

  • Ubiquiti UDM PRO SE: Professional network management, VPN server, firewall

  • Orange Livebox 6: ISP gateway with DMZ configuration

3. Network Architecture

Security and network segmentation are critical components of this homelab. The network architecture implements enterprise best practices with multiple VLANs for isolation, a DMZ for public-facing services, and VPN access for secure remote administration.

The design separates management traffic (Proxmox hosts, Dell iDRAC) from service traffic (K3S cluster, TrueNAS, Portainer), ensuring that administrative interfaces are never directly exposed. All external access is filtered through the firewall, and internal access to management systems requires VPN authentication via WireGuard.

Diagram

3.1. Network Features

  • VLANs: Segmented network for security and organization

  • Firewall Rules: Custom rules for traffic control

  • VPN Server: WireGuard for secure remote access

  • DMZ: Isolated zone for publicly exposed services

  • Network Management: Centralized control via Ubiquiti UDM PRO SE

4. Proxmox Cluster

The virtualization layer is built on a 3-node Proxmox VE cluster, providing high availability and resource pooling across all physical hosts. This configuration ensures that if one node fails, virtual machines automatically migrate to healthy nodes without service interruption.

Infrastructure as Code principles are applied using Terraform with the Proxmox Provider, allowing VM creation and configuration to be version-controlled and reproducible. Shared storage is provided by a TrueNAS SCALE VM, offering NFS and iSCSI protocols for VM disks and data storage. This architecture enables live migration of VMs between hosts and provides a solid foundation for the Kubernetes cluster running on top.

Diagram

4.1. Cluster Features

  • High Availability: 3-node cluster with automatic failover

  • Infrastructure as Code: VM provisioning with Terraform

  • Network Storage: Shared storage via TrueNAS SCALE

  • Resource Pooling: Distributed compute resources

  • Live Migration: Move VMs between nodes without downtime

5. Kubernetes (K3S) Architecture

K3S, a lightweight Kubernetes distribution, forms the container orchestration layer of this homelab. The cluster features a highly available control plane with three master nodes synchronized through KubeVIP, which provides a virtual IP for seamless failover and load balancing of API server requests.

The entire cluster deployment is automated using Ansible playbooks, from initial node provisioning to K3S installation and configuration. Applications are deployed using Helm charts and managed through ArgoCD following GitOps principles—all application configurations are stored in Git repositories, and ArgoCD continuously synchronizes the desired state to the cluster. Longhorn provides distributed block storage for persistent volumes, while MetalLB enables LoadBalancer services on bare-metal, and Traefik handles ingress traffic and TLS termination.

Diagram

5.1. Kubernetes Components

5.1.1. Core Infrastructure

  • K3S: Lightweight Kubernetes distribution

  • KubeVIP: Virtual IP for HA control plane

  • MetalLB: Bare-metal load balancer

  • Traefik: Ingress controller and reverse proxy

5.1.2. Storage

  • Longhorn: Distributed block storage for persistent volumes

5.1.3. Deployment & Management

  • Ansible: Automated cluster provisioning and configuration

  • ArgoCD: GitOps continuous delivery

  • Helm: Application package management

  • Sealed Secrets: Encrypted secrets management

5.1.4. Networking

  • Reflector: ConfigMap and Secret replication

  • Cert-Manager: Automated TLS certificate management

6. Application Deployment Flow

The homelab implements modern CI/CD practices using GitOps methodology. Developed applications follow a structured pipeline from code commit to production deployment. This workflow ensures consistency, traceability, and enables rapid iteration while maintaining deployment standards.

Code changes pushed to Git repositories trigger CI pipelines that build container images and push them to a container registry. ArgoCD monitors Git repositories containing Helm chart configurations and automatically synchronizes any changes to the K3S cluster. This declarative approach means the cluster state always matches what’s defined in Git, providing a single source of truth. All deployments are automatically integrated with the observability stack, sending logs to Loki and metrics to Prometheus for comprehensive monitoring via Grafana dashboards.

Diagram

7. Monitoring & Observability Stack (PLG)

Comprehensive observability is crucial for maintaining a complex infrastructure. The PLG stack (Prometheus, Loki, Grafana) provides end-to-end visibility into the entire homelab, from physical Proxmox hosts to containerized applications running in the K3S cluster.

Promtail agents collect logs from all sources and forward them to Loki for aggregation, while Prometheus scrapes metrics from exporters on every component. Grafana serves as the unified interface, combining logs and metrics in cohesive dashboards that provide real-time insights into system health and performance. UptimeKuma monitors service availability and provides status pages, while Rancher and OpenLens offer specialized Kubernetes cluster management interfaces for operational tasks.

Diagram

7.1. Monitoring Components

7.1.1. PLG Stack (Prometheus, Loki, Grafana)

  • Prometheus: Metrics collection and time-series database

  • Loki: Log aggregation and querying

  • Grafana: Unified visualization and dashboards

7.1.2. Additional Tools

  • UptimeKuma: Service uptime monitoring and status pages

  • Rancher: Kubernetes cluster management interface

  • OpenLens: Kubernetes IDE for cluster inspection

8. Services & Applications

The homelab hosts a diverse collection of self-hosted applications spanning authentication, media, productivity, databases, and network services. Each service is carefully selected to provide practical functionality while offering learning opportunities in system administration and cloud-native deployment.

Authentik serves as the central identity provider, enabling Single Sign-On (SSO) across all applications for streamlined authentication. High-availability database clusters (PostgreSQL and Redis) provide robust data persistence, while media services like Plex and PhotoPrism deliver personal streaming and photo management. Pi-hole offers network-wide ad blocking and DNS management, and management dashboards like Heimdall and Portainer simplify day-to-day operations across the entire infrastructure.

Diagram

8.1. Service Categories

8.1.1. Authentication & Security

  • Authentik: Single Sign-On and identity management

  • Pi-hole: Network-wide ad blocking and DNS

8.1.2. Media Services

  • Plex: Personal media streaming server

  • PhotoPrism: AI-powered photo management

8.1.3. Productivity & Collaboration

  • Nextcloud: Self-hosted cloud storage and collaboration

  • Syncthing: Decentralized file synchronization

8.1.4. Data Services

  • PostgreSQL HA: High-availability database cluster

  • Redis HA: Distributed caching solution

  • Supabase: Open-source Firebase alternative

8.1.5. Network Services

  • Unifi Network: Network controller for Ubiquiti equipment

  • WireGuard: Modern VPN solution

8.1.6. Management

  • Heimdall: Application dashboard and launcher

  • Portainer: Docker container management interface

9. Technology Stack

9.1. Infrastructure Layer

CategoryTechnologies

Hypervisor

Proxmox VE

Container Orchestration

K3S (Kubernetes)

Infrastructure as Code

Terraform, Ansible

Network Management

Ubiquiti UDM PRO SE, VLANs

Storage

TrueNAS SCALE, Longhorn

9.2. Platform Layer

CategoryTechnologies

GitOps & CD

ArgoCD

Package Management

Helm

Ingress & Load Balancing

Traefik, MetalLB, KubeVIP

Service Mesh

Traefik

Secrets Management

Sealed Secrets

Certificate Management

Cert-Manager

9.3. Observability Layer

CategoryTechnologies

Metrics

Prometheus

Logs

Loki, Promtail

Visualization

Grafana

Uptime Monitoring

UptimeKuma

Cluster Management

Rancher, OpenLens

9.4. Application Layer

CategoryTechnologies

Authentication

Authentik

Databases

PostgreSQL HA, Redis HA

Backend Services

Supabase

Media

Plex, PhotoPrism

Productivity

Nextcloud, Syncthing

Network Services

Pi-hole, WireGuard, Unifi Network

Container Management

Portainer

Application Dashboard

Heimdall

10. Mission & Objectives

10.1. Core Missions

10.1.1. Network Infrastructure

  • Configure VLANs for network segmentation

  • Implement firewall rules for security

  • Deploy VPN server for secure remote access

  • Setup DMZ on ISP gateway for public services

10.1.2. Hardware Customization

  • Modify Dell PowerEdge T330 for silent operation

  • Optimize cooling and acoustics for home environment

10.1.3. Virtualization Platform

  • Install Proxmox hypervisor on all 3 machines

  • Configure high-availability cluster

  • Implement automated failover mechanisms

10.1.4. Infrastructure as Code

  • Provision VMs using Terraform with Proxmox Provider

  • Automate infrastructure deployment and management

10.1.5. Kubernetes Deployment

  • Install K3S high-availability cluster using Ansible

  • Configure master and worker nodes

  • Implement distributed storage with Longhorn

10.1.6. Application Deployment

  • Deploy all services using Helm charts

  • Implement GitOps with ArgoCD for continuous delivery

  • Automate application lifecycle management

10.1.7. Storage Management

  • Deploy TrueNAS SCALE VM for network storage

  • Configure NFS and iSCSI for shared storage

  • Implement backup strategies

10.1.8. Observability & Monitoring

  • Deploy PLG stack (Prometheus, Loki, Grafana)

  • Collect logs and metrics from all services

  • Create dashboards for system visibility

10.1.9. Container Management

  • Setup Portainer VM for Docker Compose stacks

  • Manage containerized applications outside Kubernetes

11. Project Timeline

  • January 2023: Project inception

  • Ongoing: Continuous learning and experimentation

  • Location: Lille, Hauts-de-France, France

12. Learning Outcomes

This homelab project provides hands-on experience with:

  • Enterprise-grade virtualization and clustering

  • Kubernetes orchestration and management

  • Infrastructure as Code practices

  • GitOps methodology

  • Network security and segmentation

  • Monitoring and observability

  • High availability and fault tolerance

  • Storage management and backup strategies

  • CI/CD pipelines and automation

13. Future Enhancements

Potential areas for expansion:

  • Implement service mesh (Istio/Linkerd)

  • Add more observability tools (Jaeger for tracing)

  • Explore edge computing scenarios

  • Implement disaster recovery procedures

  • Add GPU passthrough for AI/ML workloads

  • Expand multi-cluster management

  • Implement backup and restore automation

14. Conclusion

This homelab serves as a comprehensive platform for learning modern infrastructure technologies, developing practical DevOps skills, and hosting personal applications in a professional-grade environment. The project demonstrates proficiency in virtualization, containerization, automation, and cloud-native technologies.