Deployment
ShipVeryFast deploys anywhere Next.js runs. Vercel is the smoothest path.
Vercel (recommended)
- Push your repo to GitHub and import it in Vercel.
- Add every variable from your
.env.localto Project → Settings → Environment Variables. - Set
NEXTAUTH_URLto your production URL. - Deploy.
- Add the Stripe webhook endpoint
https://yourdomain.com/api/webhooks/stripein the Stripe Dashboard and copy its signing secret intoSTRIPE_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 buildpasses locally.
Other platforms
Netlify, Railway and Render are supported. The boilerplate includes deployment config generators under app/admin/deployment for each provider.
Troubleshooting
| Symptom | Fix |
|---|---|
| Crash on start with a Zod env error | A required env var is missing/empty. |
| Magic link not received | Verify the Mailgun domain; in dev the link is in the terminal. |
No Stripe price configured | Set the matching STRIPE_PRICE_* var. |
| Webhook signature error | STRIPE_WEBHOOK_SECRET doesn't match the endpoint. |
| Rows not visible from the client | Expected, RLS restricts anon access; the server uses the service role key. |
