Caution
As of right now, majority of the written content on this page was generated by AI. This is just temporary filler that will be completely overhauled.
Project Overview
Infrastructure Architecture
The lab consists of multiple servers running different hypervisors and specialized roles:
- Proxmox VE: Primary virtualization platform hosting various VMs and LXC containers
- Proxmox Backup Server: Dedicated backup solution ensuring data redundancy and disaster recovery
- Unraid: Storage server managing large datasets and media collections
- Docker Hosts: Containerized applications running across multiple nodes
Key Features
Virtualization & Containerization
- Multiple isolated environments for testing and development
- VM templates for quick deployment
- Docker Compose stacks for service orchestration
- Resource allocation and management through Proxmox
Infrastructure as Code
- Ansible: Automated configuration management and deployment
- Terraform: Infrastructure provisioning and version control
- Declarative configurations for reproducible environments
Networking & Security
- Tailscale: Zero-trust mesh VPN for secure remote access
- Caddy: Automatic HTTPS with reverse proxy capabilities
- Crowdsec: Collaborative security engine with threat detection
- VLANs for network segmentation
- Firewall rules and access control lists
Services & Applications
Backup & Disaster Recovery
Technologies Used
My homelab consists of trusted, and stable opensource technologies
- Proxmox VE & PBS: Type-1 hypervisor and integrated backup solution
- Docker & Docker Compose: Container runtime and orchestration
- Ansible: Python-based automation and configuration management
- Terraform: Infrastructure provisioning with HashiCorp Configuration Language
- Tailscale: WireGuard-based mesh VPN
- Caddy: Go-based web server with automatic HTTPS
- Crowdsec: Behavioral analysis and collaborative security
- Unraid: XFS/BTRFS storage management with parity protection
Design Philosophy
The homelab follows several key principles:
Development Journey
Building and maintaining this homelab has been an ongoing learning experience:
- Initial Setup: Started with a single server running basic services, learning virtualization fundamentals
- Expansion: Added specialized hardware for storage, backups, and network infrastructure
- Automation: Transitioned from manual configuration to IaC practices with Ansible and Terraform
- Security Hardening: Implemented proper network segmentation, monitoring, and security tools
- Optimization: Continuous refinement of resource allocation, backup strategies, and service deployment
Challenges Overcome
- Managing storage across different systems and use cases
- Balancing security with accessibility for family users
- Debugging networking issues across VLANs and VPN tunnels
- Optimizing power consumption vs. performance
- Implementing proper monitoring without alert fatigue
Lessons Learned
- Documentation is crucial: Future-you will thank present-you
- Start simple, iterate: Don’t over-engineer from the start
- Backups matter more than uptime: Test your recovery procedures
- Networking fundamentals are essential: Understanding packets, routing, and DNS prevents countless headaches
- Automation saves time: Initial investment in IaC pays dividends
Current Services
The homelab currently hosts:
- Development environments and CI/CD runners
- Media management and streaming services
- File sync and collaboration tools
- Home automation controllers
- Network infrastructure (Pi-hole, Unbound)
- Monitoring stack (Prometheus, Grafana, Uptime Kuma)
- Password management and authentication services
Future Roadmap
Ongoing and planned improvements:
- Kubernetes cluster: Learning container orchestration at scale
- Enhanced monitoring: Implementing distributed tracing and log aggregation
- GPU passthrough: Adding ML/AI workload capabilities
- Network upgrade: 10GbE implementation for storage and VM migration
- Power efficiency: Optimizing server power consumption
- Documentation site: Creating comprehensive runbooks and architecture diagrams
- Off-site replication: Implementing remote backup location
Metrics & Impact
- Uptime: ~99% availability for critical services
- Cost savings: ~$50-100/month vs. equivalent cloud services
- Learning value: Hands-on experience with 20+ enterprise technologies
- Users served: Family members and friends using various services
- Energy consumption: ~150-200W average draw with power management