Skip to main content

Tech stack

Production services

Docker deployment

Uncomment the app service in docker-compose.yml and run:
The Dockerfile builds the full app. Port 5001 is exposed.

Manual / VPS deployment

Build outputs:
  • Client → dist/public/
  • Server → dist/index.js

Pre-deploy checklist

NODE_ENV=production
DATABASE_SSL=true
SESSION_USE_SECURE_COOKIE=true
Real JWT_SECRET and JWT_REFRESH_SECRET set
Stripe webhook secret matches endpoint in Stripe dashboard
Gupshup webhook URL updated to production domain
ALLOWED_ORIGINS set to production domain only