This is the real list, not the idealized one.
My homelab is built around Docker Compose stacks and split into service groups so failures stay contained.
Core platform services
- Glance for dashboarding and status view
- Dockge for stack lifecycle management
- Uptime Kuma for service monitoring and endpoint checks
- Cloudflare Tunnel for exposure without punching random firewall holes
Data and infra layer
- Postgres (pgvecto-rs) for app data and vector-ready workloads
- Redis for queue/cache workloads
- CouchDB for docs-style storage needs
Personal productivity services
- Immich for photo backup and search
- Paperless-ngx for document ingestion and OCR pipeline
- Vaultwarden for credential storage
- FileBrowser Quantum for internal file access
Media and download stack
- Jellyfin + Navidrome for media playback
- Radarr, Sonarr, Lidarr, Prowlarr, Bazarr for automation
- qBittorrent with auxiliary proxying and filtering
Reliability rule
I keep recovery notes near each stack, not in my memory. If I cannot rebuild from notes, it is not production-ready enough for my own home infra.