Not every app belongs on a platform-only deploy. For Foodlogin, the brand needed a full commerce stack — storefront, cart, Razorpay webhooks, admin — with costs and control that made sense long-term.
I shipped it on Hetzner with Coolify handling builds, SSL, and deploys.
When self-hosting is worth it
- Predictable monthly cost at moderate traffic
- Full control over Docker, env, and databases
- Webhooks and background jobs without fighting platform limits
- You (or I) are willing to own ops basics
When it's not: pure marketing sites, zero-ops teams, or spikes that need infinite horizontal scale tomorrow.
The checklist I don't skip
- Backups — database dumps on a schedule, tested restore once
- Secrets — never in the repo; rotated when people leave
- Health checks — know when the app is down before the client does
- TLS + domain — boring, automatic, non-negotiable
- Staging — even a small one beats debugging only in prod
The honest trade-off
You trade "git push and forget" for "git push and still own the machine." For product work that needs payments and an admin panel, that trade has been worth it.
If you're stuck between platform convenience and production control, I can help you pick — and ship either path.