What I run
A production-shaped Kubernetes cluster lives in my house. That is not a personality trait so much as a rehearsal space, I would rather break something here than in a barangay hall.
Homelab
A production-shaped Kubernetes cluster running in my house. Everything is declared in git and applied by Flux, because anything I configured by hand is something I cannot rebuild.
- k3s
- The Kubernetes distribution. Lightweight, multi-node, highly available.
- FluxCD 2
- Polls git, reconciles the cluster. The only way changes get in.
- Longhorn
- Replicated block storage, built by the people behind k3s.
- Mozilla SOPS
- Secrets encrypted in the repository rather than passed around out of band.
- kube-prometheus-stack
- Prometheus and Grafana. Knowing whether any of it works.
- Velero
- Namespace and persistent-volume backup, shipped to S3.
- Cloudflared + ingress-nginx
- Two tunnel pods on separate nodes, so exposure survives losing one.
- Renovate
- Keeps Helm charts and images from quietly rotting.
Editor & shell
Arch, a tiling window manager, and a terminal I have spent too long configuring.
- Neovim
- Configured in Lua. The config is in git like everything else.
- Arch Linux + bspwm
- Tiling window manager, dotfiles versioned.
- reclaim
- A CLI I wrote in Bun to recursively find and clear dev cache directories.
- Bun
- Package manager and runtime for most new work.
Self-hosted
Services I run rather than subscribe to. Most of this is why Songstress exists.
- Navidrome
- The music server Songstress is built on top of.
- Uptime Kuma
- Status monitoring. I maintain a theme collection for its status pages.
- Grafana
- Dashboards over the cluster's Prometheus metrics.
- qBittorrent + SABnzbd
- Behind a VPN, orchestrated by Compose.
Hardware
The machines all of this runs on.
- Not yet listed
- Laptop, homelab nodes and peripherals. Coming once I write them down.
