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?