Skip to Content
Deployment

Deployment

MeetAI is deployed as two independent services: the Next.js app on Vercel and the AI Agent as a Docker container on LiveKit Cloud (or any container runtime).

Deployment Architecture

Environment Variables

Next.js App (Vercel)

VariablePurpose
DATABASE_URLNeon DB connection string
LIVEKIT_URLLiveKit server WebSocket URL
LIVEKIT_API_KEYLiveKit API key
LIVEKIT_API_SECRETLiveKit API secret
GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRETGitHub OAuth
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRETGoogle OAuth
GOOGLE_API_KEYGemini API for summarization
INNGEST_SIGNING_KEYInngest webhook verification
POLAR_ACCESS_TOKENPolar.sh API access
BETTER_AUTH_SECRETAuth session encryption
AGENT_SECRETShared secret for agent → backend auth

AI Agent (Docker)

VariablePurpose
LIVEKIT_URLLiveKit server WebSocket URL
LIVEKIT_API_KEYLiveKit API key
LIVEKIT_API_SECRETLiveKit API secret
GOOGLE_API_KEYGemini Multimodal Live API
NEXT_PUBLIC_APP_URLBackend URL for transcript storage
AGENT_SECRETShared secret for agent → backend auth

Local Development

# Terminal 1 — Next.js dev server cd meetai npm run dev # Terminal 2 — Inngest dev server cd meetai npx inngest-cli@latest dev # Terminal 3 — LiveKit agent (development mode) cd meetai-agent npx tsx src/agent.ts dev # Terminal 4 — ngrok tunnel (for LiveKit webhooks) ngrok http 3000

The Inngest dev server provides a local dashboard at http://localhost:8288 where you can inspect events, step execution, and retry behavior. Run it alongside the Next.js dev server during development.

Database Migrations

# Push schema changes to Neon DB npm run db:push # drizzle-kit push # Open Drizzle Studio (visual DB browser) npm run db:studio # drizzle-kit studio

Drizzle Kit uses “push” mode (not migration files) for direct schema synchronization. This is suitable for development and small teams. For production, consider switching to drizzle-kit generate + drizzle-kit migrate for versioned migration files.

Last updated on