Self-Hosted vs SaaS: An Honest Cost and Complexity Comparison
The self-hosting community loves to talk about "free" software. And sure, the software itself is free. But the server isn't. The electricity isn't. Your time definitely isn't. Meanwhile, SaaS companies love to charge $10/month for something that costs them $0.30 to provide.
Photo by Rob Wingate on Unsplash
The truth is somewhere in the middle. Some services are dramatically cheaper to self-host. Others cost more in time and headaches than the SaaS subscription ever would. This guide does the math honestly, with real numbers, so you can make informed decisions about what to host yourself and what to pay someone else to handle.

The Hidden Costs of Self-Hosting
Before comparing individual services, let's establish the baseline costs that apply to all self-hosting:
Hardware
A capable home server doesn't have to be expensive. Here's a realistic range:
| Setup | Hardware | Cost | Monthly amortized (5yr) |
|---|---|---|---|
| Raspberry Pi 5 | Pi 5 + 1TB SSD + case + PSU | $150 | $2.50 |
| Used mini PC | Dell Optiplex / HP EliteDesk + 16GB RAM + 1TB SSD | $150-250 | $3-4 |
| Purpose-built | Intel N100 mini PC + 32GB RAM + 2TB NVMe | $300-400 | $5-7 |
| Beefy server | Ryzen 5600G + 64GB ECC + 4x4TB HDD | $600-900 | $10-15 |
Amortized over 5 years, hardware costs $2.50-15/month. Most self-hosters land in the $4-7/month range with a used mini PC or N100 box.
Electricity
| System | Idle wattage | Annual cost (at $0.12/kWh) | Monthly |
|---|---|---|---|
| Raspberry Pi 5 | 5W | $5 | $0.42 |
| Mini PC (N100) | 10-15W | $11-16 | $1-1.30 |
| Desktop repurposed | 40-80W | $42-84 | $3.50-7 |
| Full server (Xeon/Epyc) | 100-200W | $105-210 | $9-18 |
For most homelabs, electricity is $1-7/month. Check your local rate -- it varies wildly by region.
Your time
This is the cost nobody talks about honestly. Self-hosting takes time:
- Initial setup: 2-8 hours per service (one-time)
- Maintenance: 1-4 hours per month for the whole stack (updates, troubleshooting, backups)
- Emergency repairs: 2-8 hours per incident (a few times per year)
How you value this time depends on whether you enjoy it. If tinkering with your homelab is your hobby, the time cost is negative -- it's entertainment. If you view it purely as a chore, value your time at your hourly rate and factor it in.
For this comparison, I'll assume $0 for hobby time and note where time investment is significantly higher for self-hosted options.
Domains and certificates
- Domain: $10-15/year ($1/month)
- SSL certificates: Free with Let's Encrypt
- Dynamic DNS (if needed): Free with DuckDNS or Cloudflare
Off-site backups
Budget $1-3/month for Backblaze B2 or equivalent cloud storage for off-site backups.
Total baseline cost
For a typical mini PC homelab: $8-15/month in hardware, electricity, domains, and backups. This is the fixed cost you pay regardless of how many services you run. Each additional service adds almost nothing to infrastructure cost.
This is where self-hosting's economics kick in. Running one service barely justifies it. Running twenty services on the same hardware makes each one essentially free.
Service-by-Service Comparison
File Storage: Nextcloud vs Google Drive
| Nextcloud (self-hosted) | Google Workspace | Dropbox Plus | |
|---|---|---|---|
| Cost | $0 (included in baseline) | $7.20/user/month | $11.99/month |
| Storage | Limited by your drives | 30 GB (free) / 2 TB (paid) | 2 TB |
| Users | Unlimited | Per-user pricing | 1 user |
| Privacy | Full control | Google scans for ads | Third-party |
| Mobile apps | Yes (decent) | Yes (excellent) | Yes (excellent) |
| Office suite | Collabora/OnlyOffice (OK) | Google Docs (excellent) | Paper (basic) |
| Setup time | 2-3 hours | 5 minutes | 5 minutes |
Verdict: Self-hosting wins on cost, especially for families or small teams. SaaS wins on mobile experience and collaborative editing. If you mostly need file storage and sync, Nextcloud is a clear win. If you need Google Docs-level collaboration, the SaaS version is still better.
Password Management: Vaultwarden vs Bitwarden
| Vaultwarden (self-hosted) | Bitwarden (cloud) | |
|---|---|---|
| Cost | $0 (included in baseline) | Free / $10/year premium |
| Features | All premium features free | Some features require premium |
| Users | Unlimited | Per-user for organizations |
| Data location | Your server | Bitwarden's cloud |
| Uptime responsibility | You | Bitwarden |
| Risk | Server down = no passwords | N/A |
| Setup time | 30 minutes | 5 minutes |
Verdict: This one's nuanced. Vaultwarden gives you all premium features free, which matters for organizations. But a password manager is arguably the worst service to self-host -- if your server dies and you can't log into anything (including the cloud backup to restore it), you're in serious trouble. Recommendation: self-host Vaultwarden BUT keep a cloud Bitwarden account as a fallback with your most critical credentials.
Media Server: Jellyfin vs Streaming Services
| Jellyfin (self-hosted) | Netflix + Spotify + others | |
|---|---|---|
| Monthly cost | $0 + drives for media | $15-40/month per service |
| Content | Your own library | Licensed catalog |
| Quality | Full quality, no compression | Varies, often compressed |
| Offline | Always available on LAN | Requires download |
| Family sharing | Unlimited users | Restricted per plan |
| Content acquisition | Your responsibility | Included |
Verdict: Jellyfin doesn't replace streaming services -- it complements them. If you already have a media library (ripped DVDs, purchased movies), Jellyfin is a no-brainer. But you're not saving money by self-hosting a media server if you then need to acquire the content through other means.
Analytics: Umami/Plausible vs Google Analytics
| Umami (self-hosted) | Plausible (cloud) | Google Analytics | |
|---|---|---|---|
| Cost | $0 | $9/month (10k views) | Free |
| Privacy | Full GDPR compliance | Full GDPR compliance | Not privacy-respecting |
| Cookie consent needed | No | No | Yes (in EU) |
| Features | Basic, clean | Basic, clean | Overwhelmingly detailed |
| Setup time | 1 hour | 5 minutes | 15 minutes |
Verdict: If you need privacy-respecting analytics, self-hosted Umami is the cheapest option. Google Analytics is "free" but your visitors pay with their privacy. Plausible Cloud at $9/month makes sense if you don't want to maintain another service.
Monitoring: Grafana Stack vs Datadog
| Grafana + Prometheus (self-hosted) | Datadog | |
|---|---|---|
| Cost | $0 | $15/host/month |
| 5 hosts | $0 | $75/month |
| Data retention | Unlimited (your disk) | Varies by plan |
| Customization | Unlimited | Good but limited |
| Setup time | 2-3 hours | 30 minutes |
| Maintenance | Updates, storage management | Zero |
Verdict: Self-hosting monitoring saves significant money at scale. At $15/host/month, Datadog for even a small homelab costs more than the entire homelab's electricity bill. Self-hosted Grafana + Prometheus is the right choice for anyone already running servers.
Git Hosting: Gitea/Forgejo vs GitHub
| Gitea (self-hosted) | GitHub (free) | GitHub (team) | |
|---|---|---|---|
| Cost | $0 | Free | $4/user/month |
| Private repos | Unlimited | Unlimited | Unlimited |
| CI/CD | Woodpecker CI (self-hosted) | GitHub Actions (limited free) | GitHub Actions (3000 min) |
| Issue tracking | Yes | Yes (excellent) | Yes (excellent) |
| Community | Your users | Millions of developers | Millions of developers |
Verdict: GitHub free tier is genuinely excellent. Self-hosting git makes sense for privacy requirements or when you need CI/CD without GitHub Actions limits. For open source projects, GitHub's network effects are irreplaceable.
The Scorecard: What's Worth Self-Hosting?
| Service Category | Self-Host? | Why |
|---|---|---|
| File storage/sync | Yes | Cost scales linearly with SaaS, stays flat with self-hosting |
| Password management | Maybe | Great savings, but critical availability risk |
| Media server | Yes | Basically free if you already have the media |
| Analytics | Yes | Privacy win + cost savings |
| Monitoring | Yes | SaaS monitoring is absurdly expensive |
| No | Deliverability is a nightmare. Use Fastmail or similar. | |
| Git hosting | No | GitHub free tier is too good. Unless you need privacy. |
| DNS (authoritative) | No | Cloudflare is free and has global anycast. |
| Search engine | No | Just use SearXNG for privacy, not as a replacement for Google. |
| Office suite | No | Google Docs / LibreOffice Online are far ahead. |
Like what you're reading? Subscribe to Self-Hosted Weekly — free weekly guides in your inbox.
Total Cost of Ownership Example
Let's add it up for a realistic homelab running 10 services:
Self-hosted (mini PC, 10 services):
- Hardware amortized: $5/month
- Electricity: $1.50/month
- Domain: $1/month
- Off-site backup: $2/month
- Total: ~$10/month for everything
SaaS equivalent:
- Google Workspace (storage + office): $7.20/month
- Bitwarden Premium: $0.83/month
- Plausible Analytics: $9/month
- Datadog (3 hosts): $45/month
- Netflix: $15/month
- Uptime monitoring (Better Stack): $24/month
- Total: ~$101/month
The self-hosted option is roughly 10x cheaper. The gap widens with more services and more users, because SaaS pricing scales per-user or per-resource while self-hosted infrastructure is a fixed cost.
When SaaS Is the Right Choice
Self-hosting everything is a trap. Some services are genuinely better as SaaS:
Email -- Self-hosted email means fighting spam filters, managing deliverability reputation, and being on-call 24/7 for a service that absolutely cannot go down. Pay $5/month for Fastmail or Proton Mail.
DNS -- Cloudflare's free DNS is globally distributed, highly available, and fast. You cannot match this with self-hosted DNS.
Anything with severe downtime consequences -- If your business depends on a service being available 99.99% of the time, the SaaS provider's redundant infrastructure and on-call engineers are worth paying for.
Services where the SaaS version is free and excellent -- GitHub, Cloudflare DNS, Let's Encrypt. Don't self-host what's already free and better.
The Honest Take
Self-hosting is not about saving money on any single service. It's about the economics of running many services on the same fixed infrastructure. The more you self-host, the cheaper each individual service becomes. At 10+ services, the per-service cost is essentially zero.
But cost alone shouldn't drive the decision. Self-hosting also gives you data ownership, privacy, independence from corporate decisions (price increases, account bans, shutdowns), and the ability to customize everything. Those are hard to put a dollar value on.
The pragmatic approach: self-host the services where you get clear cost or privacy benefits, use SaaS for everything else, and don't feel guilty about either choice.
