Introduction
Introduction
Welcome to Homelab Documentation
This documentation portal contains automation and configuration files for a comprehensive homelab setup. It covers everything needed to build and maintain a robust, self-hosted infrastructure.
What You’ll Find Here
Kubernetes & Container Orchestration
- Deployment automation for Kubernetes and OpenShift clusters
- Configuration-as-code for reproducible infrastructure
Infrastructure Services
- HTTP ingress controllers and routing
- Automatic TLS certificate management
- DNS management and resolution
- Essential cluster components and operators
Application Deployments
- Pre-configured setups for popular homelab applications
- Best practices and deployment patterns
- Integration with core infrastructure services
Architecture Overview
Our homelab uses a persistent NAS system that hosts stateful components and shared storage:
- Secret Management - Centralized vault for sensitive credentials
- Identity Provider - OIDC provider for authentication across services
- Shared Storage - Persistent volumes for applications requiring long-term data retention
This approach enables rapid redeployment of cluster infrastructure while maintaining state and security posture.
Core Technologies & Tools
Automation & Scripting
- Go and Python scripts for infrastructure automation and operational tasks
- Streamlined tooling for cluster management and deployment
Configuration Management
- Ansible playbooks for Linux system configuration and provisioning
- Declarative infrastructure automation across all nodes
Continuous Deployment
- GitOps workflows with ArgoCD and Flux for declarative application management
- Infrastructure-as-code synchronization from Git repositories
Hardware Setup
Network Infrastructure
- Ubiquiti UniFi Dream Machine Pro - Central network controller and gateway
- Ubiquiti UniFi USW 24 PoE - Managed switch for PoE power distribution
Compute Nodes
- 5x Raspberry Pi 5 (8GB RAM) - Primary cluster nodes
- PoE+ HAT for network power delivery
- 256GB NVMe SSD per node for persistent storage