Open-Source Wikis

/

Cal.com

/

Reference

/

Configuration

calcom/cal.com

Configuration

Cal.diy is configured via environment variables. The canonical lists are .env.example and .env.appStore.example. This page documents the variables most contributors hit.

Files

File Purpose
.env Web app + database + auth (apps/web reads this)
.env.appStore Per-integration API keys
apps/api/v2/.env NestJS API config
packages/prisma/.env Symlink to the root .env (Windows users replace with a copy)

yarn env-check:common and yarn env-check:app-store validate .env against the example files.

Database

Variable Purpose
DATABASE_URL PostgreSQL connection string (used by Prisma + Kysely)
DATABASE_DIRECT_URL Bypasses connection poolers for migrations

Auth

Variable Purpose
NEXTAUTH_SECRET NextAuth JWT + CSRF signing key (openssl rand -base64 32)
NEXTAUTH_URL Public URL of the web app
CALENDSO_ENCRYPTION_KEY AES-256 key used by packages/lib/crypto.ts (openssl rand -base64 24)
GOOGLE_API_CREDENTIALS Google OAuth client config (JSON)
GITHUB_* GitHub OAuth
MS_GRAPH_* Microsoft Graph OAuth

URLs

Variable Purpose
NEXT_PUBLIC_WEBAPP_URL The web app's public URL
NEXT_PUBLIC_WEBSITE_URL The marketing site URL
NEXT_PUBLIC_EMBED_LIB_URL Where the embed bundle is served from

Email

Variable Purpose
EMAIL_FROM Default From: address
EMAIL_SERVER_* SMTP creds (host, port, user, password)
SENDGRID_API_KEY If using SendGrid
SENDGRID_EMAIL Sender

Redis

Variable Purpose
REDIS_URL Used by the web app's rate limiter and by API v2 (throttler + BullMQ)

Trigger.dev

Variable Purpose
TRIGGER_API_KEY Auth for the Trigger.dev SDK
TRIGGER_PROJECT_REF Trigger.dev project reference

Sentry

Variable Purpose
SENTRY_DSN Sentry project DSN
NEXT_PUBLIC_SENTRY_DSN Public DSN for the browser bundle

Crons

Each cron endpoint is gated by a shared secret. The variable name follows CRON_API_KEY (or per-job names declared in .env.example).

App Store integration keys

.env.appStore holds per-integration secrets — Stripe API keys, Daily.co API key, Twilio, Zoom, Google Calendar OAuth (often shared with auth), HubSpot, Salesforce, etc. Most are optional; an integration is simply unavailable if its keys aren't set.

yarn i-gen-web-example-env regenerates .env.example from Infisical (with the web tag); yarn i-gen-app-store-example-env does the same for the app-store env example.

Feature flags

Most product feature flags live in the database (packages/features/flags). Operational flags live in env (e.g., NEXT_PUBLIC_IS_E2E=1 to short-circuit external services in tests).

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Configuration – Cal.com wiki | Factory