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: 1. Start with the tools you actually use daily. I wasted time self-hosting stuff I check once a month. 2. PM2 is underrated. It handles restarts, logs, and monitoring for free. 3. Nginx location blocks are your friend. One domain, multiple services. 4. Backups are non-negotiable. I do daily snapshots + config git repo. 5. 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?