ShipVeryFastShipVeryFast
Documentation

Deployment

ShipVeryFast deploys anywhere Next.js runs. Vercel is the smoothest path.

Vercel (recommended)

  1. Push your repo to GitHub and import it in Vercel.
  2. Add every variable from your .env.local to Project → Settings → Environment Variables.
  3. Set NEXTAUTH_URL to your production URL.
  4. Deploy.
  5. Add the Stripe webhook endpoint https://yourdomain.com/api/webhooks/stripe in the Stripe Dashboard and copy its signing secret into STRIPE_WEBHOOK_SECRET.

Pre-launch checklist

  • All env vars set in the hosting platform (not just locally).
  • Supabase migration applied to the production project.
  • Mailgun domain verified (DKIM / SPF green).
  • Stripe in live mode with real price IDs and a live webhook.
  • Google OAuth redirect URI updated to the production domain.
  • npm run build passes locally.

Other platforms

Netlify, Railway and Render are supported. The boilerplate includes deployment config generators under app/admin/deployment for each provider.

Troubleshooting

SymptomFix
Crash on start with a Zod env errorA required env var is missing/empty.
Magic link not receivedVerify the Mailgun domain; in dev the link is in the terminal.
No Stripe price configuredSet the matching STRIPE_PRICE_* var.
Webhook signature errorSTRIPE_WEBHOOK_SECRET doesn't match the endpoint.
Rows not visible from the clientExpected, RLS restricts anon access; the server uses the service role key.