After your first successful deploy, run through this in order:
Visit the homepage → loads without errors
Sign up with your email → verification email arrives (or link in server logs if Plunk isn't set)
Promote yourself to admin by running the helper script against your prod database (from a shell with access):
DATABASE_URL="postgresql://...prod..." bun run promote-admin[email protected]
On Vercel, open a local shell with the prod DATABASE_URL copied from Vercel env. On Coolify, run from the app container's Terminal tab: bun run promote-admin [email protected] (the env vars are already set). Then sign out + sign in to see the /admin link.
Go to /admin/settings → set site_name, site_tagline, contact_email
Replace public/logo.webp + public/logo-dark.webp with your logos → redeploy
Trigger the weekly cron manually and check the response:
curl -X POST -H "Authorization: Bearer $CRON_SECRET" \ https://your-domain.com/api/cron/weekly-batch
Submit a test product via /submit, accept it from /admin/submissions, verify it appears on the homepage
(If using Stripe) make a test purchase with card 4242 4242 4242 4242 — verify the webhook fires and the submission flips to accepted
Point your real DNS at the deploy — verify HTTPS works
Switch Stripe from test to live mode (new webhook secret!)