My homelab: Kubernetes (K3s) and GitOps with ArgoCD
I run a homelab at home: a single server where everything runs on Kubernetes (K3s) with a GitOps flow managed by ArgoCD. Here's how it's set up and why I enjoy working this way so much.
What runs there
Quite a bit more than you'd expect from a single node: a media server, home automation, a password manager, this very site… all in containers, with monitoring (Prometheus + Grafana) and automated backups.
GitOps: the repository is the single source of truth
The golden rule: I never make changes to the cluster by hand. Everything is described in manifests inside a Git repository. ArgoCD watches that repo and syncs the cluster to match.
- I edit a manifest →
git push. - ArgoCD detects the change and applies it.
- With selfHeal on, if anything drifts from the repo, it reverts it automatically.
Benefits: a full history of changes, rollback = revert a commit, and zero "what did I touch yesterday that broke this?".
K3s: lightweight Kubernetes
K3s is a Kubernetes distribution built for limited resources. It gives me almost everything a "real" cluster does (Ingress with Traefik, automatic TLS via Let's Encrypt, persistent storage) without the complexity of a multi-node setup.
What I take away
Treating my home infrastructure like production has taught me more than many tutorials: declarative, versioned and reproducible. And when something breaks, I know exactly where to look.
Got a homelab or want to build one? Let's talk from the home page.