Homelab
A small home lab where I self-host the things I use every day and learn by running them myself. Everything is defined as code and reconciled from Git. The repo goes public the day I stop being embarrassed by my own setup, so do not hold your breath.
What I run
- Immich: self-hosted photo and video library, using the Intel iGPU for hardware transcoding.
- Tailscale: private access to everything from anywhere, with nothing exposed to the public internet.
- More to come: new services get added over time as I find things worth self-hosting.
Hardware
- Intel N150 mini PC, single node
- 16GB RAM
- 500GB NVMe (boot) and 1TB PCIe Gen4 NVMe (data)
Stack
- OS: Talos Linux, immutable and managed only through its API (
talosctland MachineConfig patches). - Kubernetes: upstream Kubernetes via Talos.
- GitOps: Flux CD reconciles cluster state from Git.
- Access and TLS: Tailscale, plus cert-manager with Let’s Encrypt DNS-01 through Cloudflare for trusted wildcard certificates.
- Secrets: SOPS with age keys, encrypted in the repo.
- Hardware acceleration: Intel iGPU QuickSync (
/dev/dri) passed through to workloads such as Immich and Jellyfin. - Backups: VolSync/Restic for stateful workloads, targeting cloud object storage (Backblaze B2/S3).