Live setup
Env configured: no · Ops ready: no · Checkout: no · Route Maps: no
- Supabase URL + anonNEXT_PUBLIC_SUPABASE_*—
- Service roleSUPABASE_SERVICE_ROLE_KEY—
- App URLNEXT_PUBLIC_APP_URL—
- Stripe keysSTRIPE_* + publishable—
- Stripe webhookSTRIPE_WEBHOOK_SECRET—
- Google MapsGOOGLE_MAPS_API_KEY—
- Resendoptional email—
- Copy `.env.example` → `.env.local` (and Vercel env for production).
- Apply Supabase migrations; run `npm run bootstrap:owner`.
- Stripe: webhook → `/api/stripe/webhook`.
- Google Cloud: enable Geocoding (+ Distance Matrix); restrict key to server IP / none for Vercel.
- Set `NEXT_PUBLIC_APP_URL` to the live domain before checkout.
- Turn `PUBLIC_QUOTE_CHECKOUT_ENABLED=true` only after prices/legal are ready.