Important
The project is currently in a transitional state from a single-node Debian server with k0s to a multi-node high-available setup using Talos and rook.io.
This project utilizes Infrastructure as Code and GitOps to automate the provisioning, operation, and updating of self-hosted services in my homelab.
- Automated deployment of all services using ArgoCD
- Automated updates of all services using Renovate
- Automated DNS updates of local DNS (AdGuard Home) using external-dns
- Automated DNS updates of global DNS (Cloudflare) using cert-manager.io
- Automated certificate creation and renewal using cert-manager.io
- Automated backups using restic
- Media Server setup using Plex
- Media Automation using Radarr, Sonarr, Lidarr
- Password Management with Vaultwarden
- Kubernetes Native Storage using Rook.io
- Automated Kubernetes backups using velero
- Automated Database Setup and Backups using CloudNativePG
- Monitoing setup using Grafana, Grafana Loki, Grafana Mimir and Grafana Alloy
The hardware is still not final. I'm waiting on a new 8 Bay NAS, probably the Synology DS1825+, that contains all spinning rust. Additionally, I'm also waiting for new Zen 5 Mobile or Intel Lunar Lake Mobile Mini PCs which each have a 4 TB NVMe for Rook.io/CephFS.
flowchart TD
nas[144TB NAS]
1[Mini PC 1]
2[Mini PC 2]
3[Mini PC 3]
sw[10 Gbit/s Switch]
nas <--> sw <--> 1 & 2 & 3
1 --> t1[Talos Kubernetes]
2 --> t2[Talos Kubernetes]
3 --> t3[Talos Kubernetes]