Free tools
Deploy SaaS checklist
Generate your SaaS deployment checklist.
Select your stack and get environment variables, database checks, deployment tasks, and a production launch checklist.
Choose the app stack, database, and deployment host. The generated checklist is written for a real launch, not just a demo deploy.
Next.js production checklist
Next.js SaaS deployment checklist with PostgreSQL
13
Env vars
10
Deploy tasks
10
Launch checks
Deployment checklist
- Connect the production Git branch to your hosting provider.
- Set all production environment variables in the host dashboard.
- Run next build locally and confirm there are no server/client boundary errors.
- Configure your custom domain and force HTTPS.
- Add the production callback URLs for auth and OAuth providers.
- Create production Stripe products, prices, checkout URLs, and webhook endpoint.
- Create a managed PostgreSQL production database, migration role, app role, and backup policy.
- Run database migrations or schema setup against production.
- Send a real transactional email from production.
- Deploy and verify health, auth, billing, and dashboard routes.
Production checklist
- Smoke test signup, login, logout, password reset, and OAuth callback flow.
- Complete a test checkout with Stripe test mode or a low-value live plan.
- Confirm webhooks update subscription status in your database.
- Check protected routes cannot be accessed while logged out.
- Confirm error monitoring and analytics receive production events.
- Add robots.txt, sitemap, canonical tags, and social preview image.
- Verify cookies are HttpOnly, Secure, SameSite, and scoped correctly.
- Review rate limits on auth, checkout, contact, and public API routes.
- Document rollback steps and the last known good deployment.
- Invite 3-5 beta users and monitor logs during the first session.
Environment variables
NODE_ENV=production
APP_URL=https://yourdomain.com
AUTH_SECRET=...
STRIPE_SECRET_KEY=...
STRIPE_WEBHOOK_SECRET=...
EMAIL_FROM=hello@yourdomain.com
SMTP_HOST=...
SMTP_USER=...
SMTP_PASSWORD=...
NEXT_PUBLIC_ANALYTICS_KEY=...
NEXT_PUBLIC_APP_URL=https://yourdomain.com
DATABASE_URL=postgresql://...
DIRECT_URL=postgresql://...
Database checks
- Run migrations in a controlled deploy step.
- Enable automated backups and point-in-time recovery if available.
- Use connection pooling for serverless deployments.
- Check indexes for user, subscription, team, and audit tables.
Host-specific notes
- Use Vercel environment groups for production and preview values.
- Check edge/runtime compatibility before using Node-only SDKs in route handlers.
- Set Stripe webhooks to the production Vercel domain, not a preview URL.