Self-hosting everything: what I learned running my own stack
About a year ago I stopped paying for most of the SaaS tools I'd accumulated and started running my own stack on a Synology NAS at home. Not for cost reasons: the savings are real but modest. Mostly I was curious whether it was practical, and I wanted to understand the operational side of software I'd been consuming as a managed service for years.
A year in, here's an honest accounting.
What Actually Works Well
Media automation is the strongest case. Running Sonarr, Radarr, Prowlarr, and a download client together gives you something no streaming service provides: a personal library that doesn't change based on licensing deals. Content doesn't disappear. No per-account limits. The Arr suite is mature and the integrations are solid, it took a weekend to set up and I've barely touched it since.
Self-hosted dashboards and monitoring are also genuinely useful. Heimdall as a launcher, Dashdot for resource visibility, Uptime Kuma for service health: all free, all running on hardware I already own. These are tools I'd never have paid for as SaaS, so they're pure addition.
Ghost for this blog. Running it yourself means no platform risk, full control over the data, and no one deciding to change the pricing model or shut down the tier you're on.
What Has More Friction Than Expected
Updates. With managed services, updates are invisible. Self-hosted, you're either trusting Watchtower to auto-update containers (which occasionally breaks things) or manually pulling new images and dealing with config changes yourself. It's not a lot of work but it's non-zero work, and it happens on the service's schedule, not yours.
External access. Getting services accessible outside your home network without opening ports requires a tunnel, I use Cloudflare Tunnel, which works well, but it's another moving part. Every new service I add needs to be registered with the tunnel config. Small overhead, but it's overhead.
Debugging. When a managed service has an issue, someone else fixes it. When your self-hosted service has an issue at 11pm, that someone is you. I've spent time I didn't plan to spend diagnosing container networking issues and SQLite locking bugs. The incidents are infrequent but not zero.
What I'd Skip
Anything with a mobile client that you rely on daily. Self-hosted apps rarely have polished mobile experiences, and the ones that do (Plex is the exception) took years of development to get there. If you need something to just work on your phone, a managed service is usually the right call.
Anything that stores data you can't afford to lose without a well-tested backup and restore process. Running your own email server, for instance, is a bad idea unless you genuinely enjoy the operational burden, and even then, the deliverability issues aren't worth it.
The Honest Verdict
Self-hosting taught me a lot about the software I use. Running Kafka-adjacent systems for work and then managing a NAS at home gave me a different kind of intuition about storage, networking, and reliability: one that's harder to develop when everything is abstracted behind an API.
But it's a hobby as much as it is infrastructure. If you treat it like a side project that happens to be useful, the time investment makes sense. If you need zero-maintenance reliability, pay for the managed service. The economics are more favourable than people think, especially for things you'd actually pay for otherwise.