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:

VariableRequiredDescription
DATABASE_URLYesPostgres connection string
NEXTAUTH_SECRETYesNextAuth.js secret
NEXTAUTH_URLYesYour app URL
RESEND_API_KEYIf using emailResend API key
STRIPE_SECRET_KEYIf using paymentsStripe secret key
STRIPE_WEBHOOK_SECRETIf using paymentsStripe webhook signing secret
INNGEST_EVENT_KEYIf using InngestInngest event key
GOOGLE_CLIENT_IDIf using calendar syncGoogle OAuth client ID
GOOGLE_CLIENT_SECRETIf using calendar syncGoogle 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