Deployment Guide
Going production with Vercel.
RapidCore is built to be deployed on Vercel. Because it is a Monorepo using Turborepo, Vercel handles it natively.
Unified Deployment Strategy
RapidCore is a monorepo. For the best experience, we recommend deploying each application as a separate project on Vercel.
Application URLs & Ports (Local vs Prod)
| App | Local Port | Production URL (Example) |
|-----|------------|-------------------------|
| Landing | 3000 | https://rapidcore.io |
| Web Starter | 3001 | https://app.rapidcore.io |
| AI Studio | 3002 | https://ai.rapidcore.io |
| Game SaaS | 3003 | https://game.rapidcore.io |
| Docs | 3005 | https://docs.rapidcore.io |
Step-by-Step Vercel Deployment
-
Import Repository: Import the root of your monorepo to Vercel.
-
Project Settings for each App:
- Framework: Next.js
- Root Directory:
apps/your-app-name - Build Command:
cd ../.. && npx turbo run build --filter=your-app-name - Install Command:
cd ../.. && pnpm install
-
Required Environment Variables: Ensure the following are set in Vercel for all apps to enable unified navigation:
NEXT_PUBLIC_URL_LANDINGNEXT_PUBLIC_URL_WEBNEXT_PUBLIC_URL_AINEXT_PUBLIC_URL_GAMENEXT_PUBLIC_URL_DOCS
Database Connection
Ensure your database (Supabase) is accessible from Vercel. You might need to adjust "Network Restrictions" if enabled.
Production Checklist
- [ ]
NEXTAUTH_URLis set to your production domain (e.g.,https://rapidcore.io). - [ ]
NEXTAUTH_SECRETis a strong random string. - [ ] Database migrations are applied (
prisma migrate deploy). - [ ] Stripe Webhook endpoint is updated to production URL.
- [ ] Updated with the
STRIPE_WEBHOOK_SECRETproduction key.
Supabase Production Configuration
When going live, you must enter actual production keys into Vercel instead of local test keys:
- Supabase Panel > Settings > API:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY(For public access)SUPABASE_SERVICE_ROLE_KEY(For server-side authorized operations only)
- Database Connection: Ensure the
DATABASE_URLandDIRECT_URLfields are defined in the Vercel Environment Variables section.
Security
Never define the service_role key with the NEXT_PUBLIC_ prefix. This key bypasses all database protection (RLS) and must be kept strictly confidential.