Home Server
A self-hosted infrastructure running 20+ containerized services across media, security, observability, and home automation.
Origin
A few years ago I went down a rabbit hole of YouTube videos on self-hosting and never really came back up. The idea of replacing subscription services with software I actually control was too appealing to ignore, so I repurposed an old PC build with spare parts and started experimenting. I knew hardware well but networking was mostly new territory.
How It Evolved
Getting the first few services running required learning things I'd never had a reason to touch before — how firewalls actually work, how DNS resolution chains together, how a reverse proxy sits in front of your services to handle routing and SSL termination. With every new application came its own troubleshooting rabbit hole: port conflicts, permission errors, misconfigured environment variables. Each one taught me something real about how Linux systems and networks operate under the hood.
As the number of services grew, bare-metal installs became unmanageable. I taught myself Docker and migrated everything into containers, which made deployment, updates, and isolation dramatically cleaner. Around that time security became a serious priority — I configured NGINX Proxy Manager so nothing is exposed directly, set up fail2ban against brute-force attempts, and developed habits around reviewing access logs and locking down service configurations beyond their defaults.
When friends and family started relying on the server, reliability became far more important. I upgraded to nearly 50TB of storage with RAID redundancy, and replaced a power-hungry dedicated GPU with a CPU with capable integrated graphics, cutting electricity consumption nearly in half while still handling hardware transcoding.
Current State
Media & personal tools. Jellyfin handles media streaming for friends and family. Immich manages 19,000+ personal photos. Navidrome handles music streaming, Kavita and Calibre cover ebooks and comics. Vaultwarden runs my personal password manager, Miniflux handles RSS, and Home Assistant ties in home automation.
Observability. Grafana, Prometheus, and Node Exporter provide real-time system monitoring and dashboards. Uptime Kuma tracks service availability — currently 100% uptime across all monitored endpoints.
Infrastructure. NGINX Proxy Manager routes and secures all external-facing services behind a single reverse proxy. Dockge provides a clean UI for managing the container stack.
Ongoing
The focus has shifted from getting things running to long-term stability, security hardening, and expanding capabilities. Current interests include improving the monitoring stack, tightening backup strategy, and continuing to experiment with new self-hosted tools as they mature. The concepts worked through here — containerization, reverse proxies, network security, system monitoring — map directly to the infrastructure layer of production software.