
The Self-Hosted Developer Stack: Cancel Everything, Own Everything
April 11, 2026
Self-hosted developer tools in 2026 replace $200+/month in SaaS subscriptions with a single $20/month VPS. After migrating 8 services off managed platforms, I cut my monthly bill from $247 to $24. Here is every tool, the migration difficulty, and what I would skip.
The Cost Math#
I tracked every SaaS subscription for three months before migrating. The total came to $247/month across 8 services: Vercel Pro ($20), GitHub Teams ($4/user, $16 total), 1Password ($8), Google One for photos ($10), Zapier ($49), Notion ($10), Slack Pro ($8.75/user, $35 total), and Better Uptime ($99). Some of those prices are discounted annual rates.
The replacement stack runs on a Hetzner CX32 VPS at $7.99/month plus a $10/month Hetzner storage box for backups and photo storage. Add $6/month for a domain and DNS. Total: $24/month. That is a 90% reduction, and I kept every feature I actually used.
Monthly SaaS Cost: Before vs After
The "after" column shows $3 for the photo storage portion of the Hetzner storage box. Everything else runs on the VPS at no extra per-service cost. The VPS itself ($8/month) is shared across all services.
The Easy Wins#
Three services migrated in under 30 minutes each and have needed zero maintenance since. Start here if you want quick results.
- Vaultwarden replaces 1Password. 50MB RAM, full Bitwarden client compatibility, $0/month.
- Immich replaces Google Photos. Face recognition, mobile backup, EXIF search, $0/month.
- Uptime Kuma replaces Better Uptime. 95+ alert channels, status pages, $0/month.
Vaultwarden (replaces 1Password)#
Vaultwarden is a Rust rewrite of the Bitwarden server that runs in 50MB of RAM. It uses the same browser extensions, mobile apps, and desktop clients as Bitwarden. You get the full premium feature set (TOTP, file attachments, organization sharing) without the $40/year Bitwarden subscription or the $96/year 1Password bill.
docker run -d --name vaultwarden \
-v /opt/vaultwarden:/data \
-p 8080:80 \
vaultwarden/server:latest
Migration took 15 minutes. Export from 1Password as CSV, import into Vaultwarden, install the Bitwarden browser extension, done. The AES-256 encryption happens client-side before anything touches your server.
Immich (replaces Google Photos)#
Immich hit version 2.6 in March 2026 with over 150 improvements. It handles automatic mobile backup, face recognition, object search, shared albums, and a timeline view that feels close to Google's own interface. The search is actually better than Google Photos because Immich does proper EXIF reverse geocoding.
I pointed it at my Hetzner storage box for the media files. 200GB of photos costs $3/month there versus $10/month on Google One. The mobile apps run background backup reliably on both iOS and Android.
Uptime Kuma (replaces Better Uptime)#
This one stings the most when you look at the savings. Better Uptime charges $99/month for their team plan. Uptime Kuma does the same job and installs in one command. It monitors HTTP, TCP, DNS, ping, and Docker containers with 20-second intervals and sends alerts through 95+ notification channels including Slack, Discord, Telegram, and email.
You also get public status pages out of the box. The whole thing runs in about 80MB of RAM.
The Medium Difficulty#
These took an afternoon each and require occasional maintenance. Worth it, but budget half a day per service.
Gitea (replaces GitHub)#
Gitea is a single Go binary that runs in 200-512MB of RAM. For comparison, GitLab needs 4-8GB. You get pull requests, code review, branch protection, CI/CD via Gitea Actions (compatible with GitHub Actions YAML), a package registry, and project boards. It handles repos with 100K+ commits on a $5 VPS.
The built-in migration tool imports repos from GitHub including issues, PRs, labels, milestones, and releases. I still mirror critical repos to GitHub for visibility, but Gitea is the source of truth. If you want a fully community-governed option, Forgejo (Gitea's fork) added federation support in 2026.
Outline (replaces Notion)#
If you primarily use Notion for docs and wikis (not databases or project management), Outline is the cleaner replacement. It is built with React and Node.js, has near-instant search, supports real-time collaboration, and includes Markdown export. The editor feels more focused than Notion's because it does one thing well instead of trying to be everything.
Setup is the most involved of the medium-difficulty tools because Outline needs PostgreSQL, Redis, and an S3-compatible store for file uploads. I pointed it at MinIO running on the same VPS. Total setup: about 2 hours including SSO configuration.
n8n (replaces Zapier)#
This is the single biggest cost savings on the list. Zapier charges $49-89/month for 2,000-5,000 tasks. n8n self-hosted runs unlimited workflows for the cost of your VPS. One developer reported saving over 2,000 euros per year after switching.
n8n supports JavaScript and Python code nodes, conditional branching, loops, sub-workflows, and webhook responses. You can build automations in n8n that are not possible in Zapier at all. The tradeoff is a steeper learning curve, and the visual editor takes a few hours to get comfortable with.
The Hard Mode#
These services work when self-hosted but require real operational commitment. I run two of the three. The third I tried and abandoned.
Hard mode services: difficulty and verdict
What I Still Pay For#
Not everything belongs on your VPS. I kept paying for four things after the migration.
- Email ($5/month, Fastmail). Deliverability is someone else's problem. I tried self-hosting and the ROI was negative.
- DNS ($0, Cloudflare free tier). Their anycast network is faster than anything I can run. The free tier handles everything I need.
- Cloud AI APIs ($20/month, Claude Pro). Local models handle 90% of coding tasks, but complex multi-file reasoning still needs a frontier model.
- Domain registrar ($12/year). You cannot self-host a domain name.
The pattern is clear: self-host anything that runs on commodity compute. Keep paying for services where the provider's infrastructure is the product (email reputation, global DNS, frontier AI models).
TL;DR: Start with Vaultwarden, Uptime Kuma, and Immich for instant savings. Move to Gitea and n8n when you have a free afternoon. Skip self-hosted email entirely. A $20/month VPS handles all of it.
If you already run a self-hosted AI stack, adding these tools is just more Docker containers on the same VPS. And if you are looking for the right CLI tools or Windows dev setup to manage it all from your terminal, those pieces fit together naturally.
Sources: SSD Nodes Cost Guide, Vaultwarden, Immich, Uptime Kuma, Gitea, Outline, n8n, Coolify, Mattermost, Mailcow, MassiveGRID Coolify Cost Comparison