☕ Coffee anyone ?
1 min read

Homelab. Part 4 : installing stuff

Homelab. Part 4 : installing stuff

Every service running here exists for a reason. Not to fill a dashboard, not to prove a point — because it does something useful, for me or for the people I share it with. That constraint keeps the list short and the maintenance bearable.

The guiding principles are simple enough : least effort to install, least time to update, observable without babysitting, light on resources. And where a choice exists, European solutions first. Not a political statement — a preference, and an increasingly easy one to act on.

Installation method depends on the workload and where it lives best.

For anything running on K3S, the starting point is ArtifactHub and ArgoCD. ArgoCD is genuinely one of the best tools in this space — not just for deploying, but for understanding what a Kubernetes application actually is and how it fits together. Wiki.js lives there, so does Postiz. Helm charts, GitOps, declarative configuration. Updates are visible, rollbacks are straightforward, the state of the cluster is never a mystery.

For LXC containers on Proxmox, Proxmox Helper Scripts deserve more attention than they get. One-line installs, sensible defaults, actively maintained. n8n came from there and has been running without complaint ever since. So did Gitea — a lightweight, self-hosted Git instance that holds configuration backups alongside the weekly snapshot jobs. Two complementary layers : one for recovery, one for history. It's the kind of tooling that respects your time.

Swetrix — a privacy-friendly, European analytics platform — was a manual install. No helper script, no Helm chart, just doing it the old way. It still happens. It went fine.

Then there's Funkwhale. Running as a VM because it earns the isolation — music library, streaming, the whole thing. Beloved, genuinely. The 2.0 migration, less so. Two failed attempts, both unsuccessful — and after careful consideration, a dignified retreat back to 1.4.1 😅. The upgrade will happen eventually, on a quieter day.

Beszel watches everything. Host metrics, container health, quiet when things are fine. The goal across all of this is a stack that stays in the background — useful, low-maintenance, and European where possible.