Loading...
Loading...
Three Vercel projects, one Trigger.dev deployment, and a Supabase database. This guide walks through every step.
Create three separate Vercel projects — one for each app. Each points to a different root directory in the monorepo.
apps/webDashboard, auth, APIapps/adminOperator consoleapps/marketingLanding, docs, blog# Deploy each app separately
cd apps/web && vercel --prod
cd apps/admin && vercel --prod
cd apps/marketing && vercel --prodEach app needs a different set of environment variables. Set these in the Vercel project settings for each app.
DATABASE_URLBETTER_AUTH_SECRETBETTER_AUTH_URLNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYGOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETPOLAR_ACCESS_TOKENPOLAR_WEBHOOK_SECRETRESEND_API_KEYTRIGGER_SECRET_KEYSUPERADMIN_EMAILSDATABASE_URLBETTER_AUTH_SECRETBETTER_AUTH_URLNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYSUPERADMIN_EMAILSNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYRun BetterAuth migrations against your production Supabase database before going live.
# Run BetterAuth migrations against production DB
DATABASE_URL="your-production-url" bunx better-auth migrate
# Verify tables were created
# Check Supabase dashboard → Table EditorDeploy your background jobs to Trigger.dev cloud so emails, webhooks, and scheduled tasks run in production.
cd packages/jobs
npx trigger.dev@latest deployPoint your custom domains to Vercel. Add CNAME records for each subdomain in your DNS provider.
yourdomain.comCNAMEapp.yourdomain.comCNAMEadmin.yourdomain.comCNAMEAfter adding DNS records, configure custom domains in each Vercel project settings. SSL certificates are provisioned automatically.
After deploying, monitor these areas to ensure everything is running smoothly.
Enable Vercel Analytics to track page views, web vitals, and deployment performance across all three apps.
Monitor background job runs, failure rates, and retry counts. Set up alerts for failed tasks.
Watch database size, connection counts, and query performance. Set up database backups on a schedule.
Track email delivery rates, bounces, and complaints. Verify domain reputation stays healthy.