45 lines
1.9 KiB
Bash
45 lines
1.9 KiB
Bash
# Database (MySQL 8.0 — migrated from PostgreSQL in Phase 7, see
|
|
# docs/phase-7-summary.md; the production host only supports MySQL).
|
|
DATABASE_URL="mysql://user:password@localhost:3306/nextchair"
|
|
# Optional: cap the connection pool (see src/lib/db/prisma.ts). Lower this
|
|
# for a hosting provider with a small max-connections limit.
|
|
DATABASE_CONNECTION_LIMIT="5"
|
|
|
|
# Auth.js (NextAuth v5). Generate with: npx auth secret
|
|
AUTH_SECRET="replace-me-with-a-32-byte-random-string"
|
|
|
|
# Google OAuth — https://console.cloud.google.com/apis/credentials
|
|
AUTH_GOOGLE_ID=""
|
|
AUTH_GOOGLE_SECRET=""
|
|
|
|
# Base URL of the app (used for callback URLs, email links, etc.)
|
|
NEXT_PUBLIC_APP_URL="http://localhost:3000"
|
|
|
|
# Email (Phase 7) — see src/services/notifications/providers.
|
|
# "console" logs would-be emails to the server console instead of sending
|
|
# (safe default — never send real email from an unconfigured environment).
|
|
# "brevo" sends for real over Brevo's SMTP relay via nodemailer (see
|
|
# brevo-email-provider.ts for why SMTP rather than Brevo's REST API).
|
|
EMAIL_PROVIDER="console"
|
|
EMAIL_SMTP_HOST="smtp-relay.brevo.com"
|
|
EMAIL_SMTP_PORT="587"
|
|
EMAIL_SMTP_USERNAME=""
|
|
EMAIL_SMTP_PASSWORD=""
|
|
EMAIL_FROM_ADDRESS=""
|
|
EMAIL_FROM_NAME="NextChair"
|
|
|
|
# Web Push (Phase 7) — generate with: npx web-push generate-vapid-keys
|
|
# NEXT_PUBLIC_VAPID_PUBLIC_KEY must be the same value as VAPID_PUBLIC_KEY —
|
|
# it's duplicated because the browser needs it for pushManager.subscribe.
|
|
# PUSH_PROVIDER="web-push" to actually send; defaults to "console" (logs only).
|
|
PUSH_PROVIDER="console"
|
|
VAPID_PUBLIC_KEY=""
|
|
NEXT_PUBLIC_VAPID_PUBLIC_KEY=""
|
|
VAPID_PRIVATE_KEY=""
|
|
VAPID_SUBJECT="mailto:owner@example.com"
|
|
|
|
# Background notification processing (Phase 7) — shared secret an external
|
|
# scheduler presents as `Authorization: Bearer <value>` to
|
|
# /api/cron/process-notifications. Generate with: openssl rand -hex 32
|
|
CRON_SECRET=""
|