Deployment
Deployment needs Vercel configuration, Supabase production setup, provider webhooks, cron routes, domains, and a go-live checklist.
On this page
Deployment checklist
| Step | Verify |
|---|---|
| Deployment host | Vercel is the repository's CI-verified path. Netlify and Railway are documented compatibility targets but must be validated against your own environment, scheduler, and deployment controls. |
| Supabase production | Push migrations, regenerate types, configure auth redirects, and keep the secret key server-only. |
| Webhooks | Configure Stripe, Lemon Squeezy, and Resend endpoints using production URLs and signing secrets. |
| Cron jobs | Schedule publish, notification outbox, and retention endpoints with Authorization: Bearer <CRON_SECRET>. |
| Domains | Point DNS, confirm HTTPS, and set APP_URL to the canonical production origin. |
| Smoke tests | Run auth, admin, billing setup, checkout, email, cron, and no-secret-in-logs checks. |
Implementation reference3 areas
These Product code locations explain how the documented behavior is implemented. Expand them when you are ready to customize or maintain this area.
Production URL and metadata
Public site URL, production URL safety, and SEO metadata rely on validated config.
src/lib/config.tssrc/lib/seo/metadata/builders.ts
Cron endpoints
Scheduler and cron routes delegate to protected services and preserve request id context.
src/features/notifications/server/outbox/services/cron.tssrc/features/compliance/server/retention/service.ts
Webhook endpoints
Billing and notification provider callbacks validate signatures and keep processing state visible.
src/app/api/webhooks/stripe/billing/route.tssrc/app/api/notifications/webhooks/resend/route.ts
Reference paths are relative to the Shipflash-Product checkout.