Priced honestly, self-hosting one app usually loses to SaaS, and self-hosting twelve usually wins — because your maintenance cost is per server while SaaS pricing is per app, per seat, forever. That asymmetry is the entire economics of self-hosting, and it's why both the "$5/month beats your weekends" crowd and the "I replaced $200/month with a $150 mini PC" crowd are correct about their own situations. The math below shows where the crossover sits.
Price your time, or the comparison is fiction
TCO comparisons that value your hours at zero produce whatever answer the author wanted. Pick a real number — not your billable rate (you weren't going to bill those Sunday hours), but what a marginal leisure hour is worth to you; $30–50 is a defensible range for most people. Then apply it to both sides, because SaaS costs hours too: managing subscriptions, migrating when features sunset, wrangling exports, and sitting through the annual "we're updating our pricing" email. The one legitimate exception: if homelabbing is your hobby, those hours were entertainment you'd have paid for — count them at zero and skip to the end, because everything self-hosted becomes nearly free.
Fixed vs marginal: the actual economics
The numbers that matter, from my own logs over two years (estimates, but honest ones): a mature setup costs about 2 hours/month of maintenance — updates, backup checks, the occasional broken container — whether it runs 3 apps or 15. Each additional app costs 1–3 hours once to set up and then rounds to 10 minutes/month. Infrastructure (power, amortised hardware, off-site backup storage) runs $12–20/month regardless. The maintenance is a fixed cost; apps are nearly free at the margin. SaaS is the mirror image: zero fixed cost, and every app is $5–15/month at the margin — multiplied by every family member or teammate who needs a seat.
| Scenario | SaaS | Self-hosted (time at $40/h) |
|---|---|---|
| 1 app, 1 person | $8/mo | ~$100/mo |
| 6 apps, 1 person | $48/mo | ~$105/mo |
| 12 apps, 1 person | $96/mo | ~$110/mo |
| 6 apps, family of 4 | $140–190/mo | ~$110/mo |
| 12 apps, family of 4 | $250+/mo | ~$115/mo |
Seats are the real multiplier. SaaS charges per human; your server doesn't care how many people use it. A single user breaks even around a dozen apps; a family of four flips the math at five or six.
The failure budget
Add a line most comparisons omit: one bad weekend per year. A disk dies, an upgrade goes sideways, DNS breaks at the worst moment — call it 8 hours, $320 at our rate, about $27/month amortised. It's in the table above. But score SaaS symmetrically, because its failure budget isn't zero either: forced migrations when a product sunsets, price increases that have averaged high single digits annually across the industry, and policy changes that delete your use case overnight — ask anyone whose photo storage stopped being unlimited. Self-hosting's failures cost time on your schedule; SaaS's failures cost money and migrations on theirs.
Where SaaS genuinely wins
Email tops the list — deliverability is a full-time job, and the honest assessment explains why $50/year beats self-hosting it. Anything other people's income depends on: if your business runs on it, an SLA and someone else's on-call rotation are worth real money. Collaboration with non-technical outsiders, where "make an account on my Nextcloud" is a genuine imposition. And the single-app user: one subscription, no server, correct choice — the fixed cost never amortises over one app.
Where self-hosting wins even at consultant rates
Per-seat products used by a household or small team — the table's bottom rows. Storage-heavy services, because SaaS prices by the terabyte and disks don't: 4TB of family photos costs $20+/month hosted and about $8/month of amortised disk at home, before counting the electricity, which is small. Long horizons: a decade of one $10/month subscription is $1,200 plus the hikes, against hardware you replaced once. Privacy requirements no SaaS tier sells. And the same logic scaled up is cloud repatriation, where companies run this exact worksheet with more zeros.
Run your own numbers
Count app-seats: apps × people who'd need paid seats. Multiply by $8 for a rough SaaS-equivalent monthly cost. Compare against $110/month self-hosted all-in at $40/hour — or ~$15/month if your hours are hobby hours. Below ten app-seats and no storage-heavy workload: stay on SaaS with a clear conscience. Above it — or the moment photos and media enter the picture — the server wins and keeps winning as it absorbs more apps, since each addition costs SaaS money and costs the existing stack almost nothing.
Bottom line
Self-hosting is a bulk purchase: expensive per unit at low volume, absurdly cheap at high volume, with seats and terabytes as the accelerants. Price your time honestly at the start, re-measure after six months when the setup hours stop, and remember the number most people get wrong isn't the value of their time — it's forgetting that the fifteenth app is free.