In November 2025 we moved 200+ client sites from Vercel to a single Hostinger VPS. It saved us ~₹45k/month in bandwidth alone. It also cost us one Tuesday night and most of a Wednesday.
The stack
# Each site runs as a PM2 process; Caddy fronts them with auto-TLS. pm2 start ecosystem.config.js caddy run --config /etc/caddy/Caddyfile
Nothing clever. PM2 for process management, Caddy for reverse-proxy + TLS, a weekly rsync to backup. Total moving parts: five.
The Tuesday
At 11:47pm on a Tuesday in December, Caddy's auto-renew for LetsEncrypt rate-limited us — 240 certs in one window. 40 sites went yellow-lock. We didn't see it till morning. One WhatsApp from a client's cousin's clinic is what saved us.
- Lesson 1: Stagger TLS renewals across days.
- Lesson 2: Uptime monitoring on TLS, not just 200.
- Lesson 3: Clients notice before you do.