Skip to content

Production Checklist

Before launching your application to real users, go through this checklist to make sure everything is properly configured.

Application

  • Standalone output (Next.js) — add output: 'standalone' to next.config.js for faster deploys and lower memory usage
  • Environment variables — all required variables are set in the Stackpad dashboard (not just locally in .env)
  • NODE_ENV=production — set at the project level
  • Error handling — your app handles errors gracefully and doesn’t expose stack traces
  • Health check — your app responds to HTTP requests on the configured port within a few seconds of starting

Database

  • Migrations — database migrations run automatically (during build or on startup)
  • Connection pooling — use a connection pool, not a new connection per request
  • Indexes — critical queries have appropriate database indexes
  • Backups verified — check the Backups tab to confirm backups are running

Custom domain

  • Domain added — add your custom domain in the Domains page
  • DNS configured — CNAME (subdomains) or A record (root domain) pointing to Stackpad
  • DNS verified — Stackpad shows a green checkmark on the domain
  • HTTPS working — certificate is provisioned (happens automatically after DNS verification)
  • Redirect configuredwww → root domain (or vice versa) using a redirect domain

Security

  • Secrets are not in code — API keys, passwords, and tokens are in environment variables, not committed to git
  • Database not public — public access is disabled on production databases (Settings → Public access off)
  • HTTPS only — Stackpad handles this automatically, but verify your app doesn’t hardcode http:// URLs

Monitoring

  • Logs working — check the Logs tab to verify your app is producing logs
  • Error tracking — consider adding Sentry or a similar tool for error alerting
  • Uptime monitoring — consider setting up an external uptime check (or deploy the Uptime Kuma template)

Team

  • Team members invited — all developers have access with appropriate roles
  • GitHub connected — the deploying user’s GitHub is connected with access to the repository

Performance

  • Build succeeds quickly — builds should complete well within the 10-minute timeout
  • Startup is fast — your app should start responding within 30 seconds (90-second health check timeout)
  • Memory is within limits — check your plan’s memory allocation matches your app’s needs

What’s next?