# --------------------------------------------------------------------------- # LOCAL DEVELOPMENT TEMPLATE # Copy this file to `.env` and fill only the sections that apply to your app. # Treat blanks as intentional—remove unused sections after bootstrapping. # --------------------------------------------------------------------------- # === Core application === APP_NAME="my-app" NODE_ENV="development" APP_URL="http://localhost:3000" # === Database (PostgreSQL recommended) === # Example: postgres://user:password@host:5432/db?sslmode=require DATABASE_URL="" DIRECT_URL="" # Optional: connection string for migration tooling # === Authentication (Optional) === # Generate with `openssl rand -base64 32` AUTH_SECRET="" # Provider toggles: set to "true" or leave blank. AUTH_ENABLE_EMAIL=""; AUTH_ENABLE_GOOGLE=""; AUTH_ENABLE_GITHUB=""; # Email magic links / passwordless EMAIL_SERVER_HOST="" EMAIL_SERVER_PORT="" EMAIL_SERVER_USER="" EMAIL_SERVER_PASSWORD="" EMAIL_FROM="" # Google OAuth GOOGLE_CLIENT_ID="" GOOGLE_CLIENT_SECRET="" # GitHub OAuth GITHUB_CLIENT_ID="" GITHUB_CLIENT_SECRET="" # === Storage (Optional) === # Works for AWS S3, Cloudflare R2, or any S3-compatible service. STORAGE_DRIVER="s3" # s3 | r2 | minio | filesystem STORAGE_ACCESS_KEY_ID="" STORAGE_SECRET_ACCESS_KEY="" STORAGE_REGION="us-east-1" STORAGE_BUCKET="" STORAGE_ENDPOINT="" # Required for R2 / MinIO. Leave blank for AWS. # === Scheduling & Calendars (Optional) === CALENDAR_PROVIDER="" # nextcloud | google | none CALENDAR_BASE_URL="" CALENDAR_USERNAME="" CALENDAR_PASSWORD="" CALENDAR_CLIENT_ID="" CALENDAR_CLIENT_SECRET="" CALENDAR_DEFAULT_TIMEZONE="America/Denver" # === Feature Flags (Optional) === FLAGS_PROVIDER="" # launchdarkly | growthbook | configcat | none FLAGS_CLIENT_KEY="" FLAGS_SERVER_KEY="" # === Analytics & Observability (Optional) === ANALYTICS_PROVIDER="" # plausible | umami | vercel | none ANALYTICS_SITE_ID="" SENTRY_DSN="" LOG_LEVEL="info" # === Edge / Worker deploys (Optional) === CLOUDFLARE_ACCOUNT_ID="" CLOUDFLARE_API_TOKEN="" WRANGLER_PROFILE="" # === Miscellaneous === NEXT_PUBLIC_APP_NAME="${APP_NAME}" NEXT_PUBLIC_FEATURE_FLAGS=""