seed_default_admin now skips creation and logs a warning when DEFAULT_ADMIN_PASSWORD is unset instead of falling back to the hardcoded ChangeMe123! value. Existing-admin promotion path is unaffected. Added DEFAULT_ADMIN_PASSWORD to .env.prod.example. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
45 lines
No EOL
1.6 KiB
Text
45 lines
No EOL
1.6 KiB
Text
# Production Environment Variables
|
|
# Copy this file to .env.prod and update with your production values
|
|
|
|
# Database Configuration
|
|
MONGODB_ROOT_USER=admin
|
|
MONGODB_ROOT_PASSWORD=your-secure-mongodb-password
|
|
MONGODB_URL=mongodb://admin:your-secure-mongodb-password@mongodb:27017/accessible_video?authSource=admin&replicaSet=rs0
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
# JWT Authentication
|
|
JWT_SECRET_KEY=your-production-jwt-secret-key-min-32-chars
|
|
JWT_REFRESH_SECRET_KEY=your-production-refresh-secret-key-min-32-chars
|
|
# Required: admin account created on first boot. Unset = admin not seeded.
|
|
DEFAULT_ADMIN_PASSWORD=your-secure-admin-password
|
|
|
|
# AI Services
|
|
GEMINI_API_KEY=your-gemini-api-key
|
|
ELEVENLABS_API_KEY=your-elevenlabs-api-key
|
|
|
|
# Google Cloud Configuration
|
|
GCS_BUCKET_NAME=your-production-bucket-name
|
|
GOOGLE_CLOUD_PROJECT=your-gcp-project-id
|
|
|
|
# Email Service (Mailgun)
|
|
SENDGRID_API_KEY=
|
|
MAILGUN_API_KEY=your-mailgun-api-key
|
|
MAILGUN_DOMAIN=mg.oliver.solutions
|
|
MAILGUN_FROM=noreply@mg.oliver.solutions
|
|
|
|
# Monitoring
|
|
SENTRY_DSN=your-sentry-dsn-url
|
|
|
|
# CORS Configuration for Apache-hosted frontend
|
|
CORS_ORIGINS=https://your-domain.com,https://www.your-domain.com
|
|
|
|
# Frontend Build Configuration (for reference)
|
|
VITE_API_URL=https://your-api-domain.com:8000
|
|
VITE_SENTRY_DSN=your-frontend-sentry-dsn
|
|
VITE_ENVIRONMENT=production
|
|
|
|
# AI Cost Tracker (direct HTTP — see backend/app/services/cost_tracker.py)
|
|
COST_TRACKER_BASE_URL=https://optical-dev.oliver.solutions/cost-tracker/v1
|
|
COST_TRACKER_API_KEY=ct_live_your-api-key-here
|
|
COST_TRACKER_SOURCE_APP=video-accessibility
|
|
COST_TRACKER_ENABLED=true |