# Core ENVIRONMENT=development DATABASE_URL=postgresql://desiclans:desiclans_dev@localhost:5432/desiclans # Use a long random value in production (32+ chars). Never commit real secrets. SECRET_KEY=change-me-to-a-long-random-string-in-production # Attendee JWT lifetime (minutes). Default 1440 = 24h. ACCESS_TOKEN_EXPIRE_MINUTES=1440 # Payments — mock (local) or razorpay (production) PAYMENT_PROVIDER=mock PAYMENT_MOCK_SECRET=dev-mock-payment-secret-change-me ORDER_PAYMENT_TIMEOUT_MINUTES=15 # RAZORPAY_KEY_ID= # RAZORPAY_KEY_SECRET= # RAZORPAY_WEBHOOK_SECRET= # Gate / scanner API key for POST /api/tickets/verify (required in production, min 16 chars) # TICKET_VERIFY_API_KEY=generate-a-long-random-string-for-gate-scanners # CORS (comma-separated origins) CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 # Public URLs (SEO, share previews, calendar links) PUBLIC_SITE_URL=http://localhost:5173 PUBLIC_API_URL=http://localhost:8000 # Media UPLOAD_DIR=uploads STORAGE_BACKEND=local # Seed script defaults (development only) ADMIN_EMAIL=admin@desiclans.in ADMIN_PASSWORD=changeme # Optional SMTP alerts # SMTP_HOST= # SMTP_PORT=587 # SMTP_USER= # SMTP_PASSWORD= # SMTP_FROM= # SMTP_USE_TLS=true # ALERT_NOTIFY_EMAIL= # ALERT_CLICK_THRESHOLD=50 # Optional S3 (when STORAGE_BACKEND=s3) # AWS_ACCESS_KEY_ID= # AWS_SECRET_ACCESS_KEY= # AWS_REGION=ap-south-1 # S3_BUCKET= # S3_PUBLIC_BASE_URL=