# ChordMiniApp Docker Environment Configuration # Copy this file to .env.docker and fill in your values # ============================================================================ # REQUIRED: Firebase Configuration # ============================================================================ # Get these from Firebase Console > Project Settings > General NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key_here NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com NEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project-id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your-project.appspot.com NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID= # ============================================================================ # REQUIRED: Backend Configuration # ============================================================================ # Docker sets NODE_ENV explicitly below. Hosted platforms like Vercel/Railway # provide NODE_ENV automatically, so there is no need to set VERCEL_ENV manually. # Python backend URL - Environment-specific configuration: # # DOCKER COMPOSE (Default): # Use 'backend' service name from docker-compose.yml on port 8080 # PYTHON_API_URL=http://backend:8080 # # DOCKER + EXTERNAL BACKEND: # Use host.docker.internal to access backend running on host machine # PYTHON_API_URL=http://host.docker.internal:5001 # # DOCKER + PRODUCTION BACKEND: # Use Google Cloud Run production backend # PYTHON_API_URL=https://your-python-backend # PYTHON_API_URL=http://backend:8080 # Optional dedicated SongFormer backend. If omitted, server routes fall back to PYTHON_API_URL. SONGFORMER_API_URL=http://backend:8080 SONGFORMER_TASKS_LOCATION=us-central1 SONGFORMER_TASKS_QUEUE=songformer-segmentation SONGFORMER_TASKS_DISPATCH_DEADLINE_SECONDS=900 SONGFORMER_BACKEND_TIMEOUT_MS=600000 SONGFORMER_CALLBACK_BASE_URL=http://localhost:3000 # Optional dedicated Sheet Sage backend. If omitted, server routes fall back to PYTHON_API_URL. SHEETSAGE_API_URL=http://backend:8080 SHEETSAGE_BACKEND_TIMEOUT_MS=600000 # ============================================================================ # REQUIRED: Application Configuration # ============================================================================ # Base URL for the application # Production: https://your-domain.com # Local: http://localhost:3000 NEXT_PUBLIC_BASE_URL=http://localhost:3000 # ============================================================================ # OPTIONAL: API Keys # ============================================================================ # YouTube Data API v3 key (for search functionality) NEXT_PUBLIC_YOUTUBE_API_KEY= # ============================================================================ # OPTIONAL: Feature Flags # ============================================================================ # Audio processing strategy: 'ytdlp' | 'yt-mp3-go' | 'ytdown-io' | 'auto' # Default: 'auto' (ytdlp for localhost, ytdown-io for production) NEXT_PUBLIC_AUDIO_STRATEGY=auto NEXT_PUBLIC_ENABLE_SERVICE_WORKER=false # Redirect Firebase/GCS audio GETs away from the Vercel proxy once bucket CORS is ready. AUDIO_PROXY_FIREBASE_REDIRECT_ENABLED=false # Enable true streaming (experimental) NEXT_PUBLIC_ENABLE_TRUE_STREAMING=false # Disable Next.js development overlay NEXT_DISABLE_DEV_OVERLAY=true # Optional Firebase App Check reCAPTCHA v3 site key NEXT_PUBLIC_RECAPTCHA_V3_SITE_KEY= APPCHECK_ENFORCE=0 # ============================================================================ # SERVER-ONLY SECRETS (Never expose to browser) # ============================================================================ # These are used by API routes and should NEVER be prefixed with NEXT_PUBLIC_ # Music.AI API key (for transcription) MUSIC_AI_API_KEY= # Google Gemini API key (for AI features) GEMINI_API_KEY= # Genius API key (for lyrics) GENIUS_API_KEY= # ============================================================================ # DEVELOPMENT FLAGS (Server-only) # ============================================================================ # Use mock Music.AI responses (for testing without API key) USE_MOCK_MUSIC_AI=false # Use Firebase emulator (for local development) USE_FIREBASE_EMULATOR=false # Segmentation access and cleanup SEGMENTATION_ACCESS_CODE= NEXT_PUBLIC_SEGMENTATION_ACCESS_REQUEST_EMAIL=phantrongnghia510@gmail.com CRON_SECRET=replace_with_random_secret SEGMENTATION_STALE_JOB_CLEANUP_LIMIT=200 # Server-side Firebase admin credentials for cache cleanup and job persistence FIREBASE_SERVICE_ACCOUNT_KEY= FIREBASE_PROJECT_ID=your-project-id # ============================================================================ # SYSTEM CONFIGURATION # ============================================================================ # Node environment NODE_ENV=production # Disable Next.js telemetry NEXT_TELEMETRY_DISABLED=1