← Back to all notes

Homeserver — how it came to be

Published:

A self-run homelab with 25+ containers and counting. Not because I have to — because I can, and the playground is too good.

Why this exists

Started with an old ThinkCentre, a Raspberry Pi, and the question "can I host Plex at home". Today 25+ containers — Home Assistant, Ollama, n8n, Gitea with its own CI/CD, Grafana/Prometheus/Loki, Authentik as SSO, Nginx Proxy Manager, plus the infrastructure for all my projects.

It's not economical. A cloud VM would be cheaper, faster to set up, less stress. But: I learn from it. Every tool I look at professionally I've already broken at home first.

Time invested

Grew over several years, never a block project. Some weeks 10 hours, some months nothing. Biggest phase was migrating from one-off Docker commands to Compose and then to structured stacks — that was a few weekends.

What worked

  • Authentik as SSO across all services — log in once, everything open. Made life much simpler.
  • Local Ollama saves me token costs for all hobby experiments — and LAN latency on small models is excellent.
  • Own Gitea CI/CD means I don't count GitHub Actions minutes. Build pipelines can run as long as they want.
  • The Grafana stack tells me when something breaks. More than once Loki has spotted a memory leak in a container before I did.

What didn't

  • SSL certificate renewals were a recurring late-night pain until I moved to clean DNS-01 challenges.
  • A power outage without a UPS once corrupted a Postgres instance. Backup strategy was the next exercise.
  • The day Ollama ate 16 GB of RAM and the server effectively stalled. Resource limits are not a nice-to-have.
  • Authentik updates broke my SSO configuration more than once. Pinned versions now, no "latest".

Where I am now

It runs. With everything that means in a homelab — so not always, but often enough. It's the playground that lets all my other projects exist in the first place.