Discover.
OSS 20 Jul 2026 2 min read

The Open Source Stack That Runs My Homelab

A NUC, a NAS, and zero licence fees. The battle-tested open source stack that runs my homelab — from containers and DNS to dashboards and backups — and what each tool actually earns its place.

JellyPuff Media

Editor-in-Chief

The Open Source Stack That Runs My Homelab

Every homelab starts with a hardware purchase and ends with a software religion. Mine is firmly open source: a NUC with 32GB of RAM, a NAS for storage, and a stack that costs exactly $0 in licences. Here’s what actually runs it — and the honest job description of each piece.

The foundation

  • Debian — boring, stable, everywhere. If a package exists, it exists for Debian. The “boring” is the feature.
  • Docker Compose — everything is a compose.yaml. One file per service, one docker compose up -d to resurrect the whole lab after a rebuild. Portability beats performance at this scale.
  • Nginx Proxy Manager — reverse proxy with a web UI for subdomains, automatic Let’s Encrypt certificates, and access lists. Twenty minutes to set up, zero maintenance since.

The daily drivers

  • Home Assistant — the automation brain: lights, sensors, and a Zigbee dongle. It’s opinionated, but nothing else ties 30 random devices together this cleanly.
  • Immich — Google Photos replacement for the family photo library. Face recognition, albums, timeline view — all self-hosted, all free. The killer app of modern self-hosting.
  • Vaultwarden — a compatible Bitwarden server in a single container. Password manager for the whole household, syncs everywhere, weighs almost nothing.
  • Paperless-ngx — document scanning, OCR, tagging, and search. Every bill and receipt in one searchable archive. The one service you’ll thank yourself for after tax season (IRD, I’m looking at you).

The glue

  • AdGuard Home — network-wide ad and tracker blocking at the DNS level. Every device on the LAN gets cleaner, faster browsing with zero configuration per device.
  • Uptime Kuma — uptime monitoring with a slick dashboard. It emails me the moment a service dies — usually before I’ve noticed the family has lost Plex.
  • Grafana + Prometheus — metrics for the lab: CPU, disk, temperature, container health. The dashboard is also a great way to justify the whole hobby to guests.
  • Duplicati — encrypted, deduplicated backups to an external drive and an off-site location. A homelab without backups is just a data-loss timer.

What I learned the hard way

  • Pick boring, not shiny. Every service should have a clear job and a maintainer community that’s still alive. A dead project is a security hole with a logo.
  • Pin your images. image: service:v2.3.4, not :latest. One unattended update broke my setup for a weekend; now updates are deliberate, tested, and scripted.
  • Document as you go. A README.md per service (ports, volumes, restore steps) means a rebuild that used to take a weekend now takes an evening.
  • Watch the disk. Logs, container images, and database WALs eat space silently. A monthly docker system prune and a disk-usage alert in Grafana keep the NAS from filling up at 11pm.

The full bill

Hardware: one NUC, one NAS, a few SSDs — bought once. Software: $0. The services replaced: Google Photos, Bitwarden Premium, a VPN subscription, and roughly three SaaS dashboards.

Open source isn’t just cheaper — it’s yours. When a service misbehaves, you can read the logs, check the GitHub issues, and fix it yourself. That feeling doesn’t come with a licence fee.

Written by

JellyPuff Media

Editor-in-Chief

Auckland-based publisher covering AI, self-hosting and tech in New Zealand.

Related articles