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.

← Back to the blog