Skip to content

Vercel Deployment

  • A Next.js application using The Booking Kit packages
  • A PostgreSQL 15+ database (Neon recommended for Vercel)
  • Vercel account

Link your GitHub repository to Vercel. If using the monorepo, set the root directory to your Next.js app folder.

Set these in the Vercel dashboard:

Variable Required Description
DATABASE_URL Yes Postgres connection string
NEXTAUTH_SECRET Yes NextAuth.js secret
NEXTAUTH_URL Yes Your app URL
RESEND_API_KEY If using email Resend API key
STRIPE_SECRET_KEY If using payments Stripe secret key
STRIPE_WEBHOOK_SECRET If using payments Stripe webhook signing secret
INNGEST_EVENT_KEY If using Inngest Inngest event key
GOOGLE_CLIENT_ID If using calendar sync Google OAuth client ID
GOOGLE_CLIENT_SECRET If using calendar sync Google OAuth client secret

For a monorepo, configure the build command:

Build Command: turbo build --filter=your-app
Output Directory: .next
Install Command: npm install

Migrations need to run against your production database. Add a build step or run manually:

Terminal window
# In CI or as a post-deploy script
npx drizzle-kit migrate --config=packages/db/drizzle.config.ts
npx tsx packages/db/src/migrate.ts

Push to your main branch or trigger a deployment from the Vercel dashboard.

  • Use a pooled connection string for the DATABASE_URL to handle serverless connection limits
  • Set a direct connection URL (DIRECT_URL) for migrations
  • The Booking Kit’s SERIALIZABLE transactions work correctly with connection pooling