After getting tired of paying for a bunch of dev tools that I barely use, I decided to self-host everything on a single $5/month VPS. Here is what my stack looks like now:
What I replaced:
- Uptime monitoring (was paying for UptimeRobot Pro) → self-hosted status page
- SSL certificate monitoring → custom checker with alerts
- Website change detection → self-hosted monitor with diff tracking
- API testing/mocking → local toolkit running on the same box
- QR code generation → own endpoint, no rate limits
The setup:
- Ubuntu 24.04 on a 2GB VPS (Hetzner, $5/month)
- Nginx as reverse proxy
- Let’s Encrypt for SSL
- Everything runs as Node.js services managed by PM2
- Total resource usage: ~400MB RAM, barely touches CPU
Lessons learned:
- Start with the tools you actually use daily. I wasted time self-hosting stuff I check once a month.
- PM2 is underrated. It handles restarts, logs, and monitoring for free.
- Nginx location blocks are your friend. One domain, multiple services.
- Backups are non-negotiable. I do daily snapshots + config git repo.
- Security basics go far. UFW + fail2ban + SSH keys = 99% of attacks blocked.
Cost comparison (monthly):
- Before: ~$150 (UptimeRobot $8, Postman $15, various monitoring tools, API services)
- After: $5 VPS + $0 for the tools
- Savings: ~$145/month
I wrote up a more detailed guide covering the full setup process if anyone is interested: The No-BS Self-Hosting Guide for Developers
Happy to answer questions about any part of the stack. What are you all self-hosting these days?