Homelab
My homelab is where I experiment with new technologies, test automation workflows, and run various self-hosted services. It's built around Docker Compose for container orchestration, Traefik for reverse proxy, and automated deployments via GitHub Actions.
All services run as virtual machines on two Proxmox hosts, providing a flexible and scalable infrastructure for testing and production workloads.
Infrastructure
Servers
- Polaris - Main application server
- Vega - Misc. (Arcane, Unifi for external devices)
- Plex - Media Server
- TrueNAS - Storage Server
- Eris - VPN gateway (Gluetun)
- techdns-1 - Primary DNS server
- techdns-2 - Secondary DNS server
- vps-ext - External VPS (Traefik, Uptime Kuma)
All servers (except vps-ext) are hosted as VMs across two Proxmox hosts.
Key Features
Automated Deployments
My homelab uses GitHub Actions with a self-hosted runner for continuous deployment:
- Push changes to
docker-compose.ymlfiles - GitHub Actions detects which services changed
- Automatically deploys to the appropriate server via SSH
- Pulls latest images and restarts containers
Service Dependencies
Services with dependencies are handled intelligently - when updating a core service like postgres, all dependent services (sonarr, radarr, prowlarr, outline, paperless-ngx) are automatically stopped, updated, and restarted in the correct order.
Infrastructure as Code
- Terraform configurations for base system provisioning
- Cloud-init for automated server setup
- 1Password CLI for secrets management
- Standardized
deploy.shscripts across all services
Technologies & Services
Infrastructure
- Container Orchestration: Docker, Docker Compose
- Reverse Proxy: Traefik
- Infrastructure as Code: Terraform, cloud-init
- Secrets Management: 1Password CLI
- CI/CD: GitHub Actions (self-hosted runner)
- Storage: TrueNAS
Media & Entertainment
- Media Servers: Plex
- Automation: Sonarr, Radarr, Prowlarr
Productivity & Tools
- Documentation: Outline, Paperless-ngx
- Monitoring: Uptime Kuma
- Network Management: Unifi Controller
- VPN Gateway: Gluetun
- DNS: Technitium with keepalived
This homelab setup is continuously evolving as I experiment with new technologies and services.
The GitHub repository for this homelab will be made public once it's ready.