-
-
Notifications
You must be signed in to change notification settings - Fork 51
Expand file tree
/
Copy path.env.example
More file actions
104 lines (84 loc) · 4.37 KB
/
Copy path.env.example
File metadata and controls
104 lines (84 loc) · 4.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Firebase Configuration (required for database functionality)
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key_here
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=your_measurement_id
# Firebase temp object cleanup schedule (twice per day)
FIREBASE_TEMP_CLEANUP_CRON=0 */12 * * *
# YouTube API Key (required for YouTube video search and metadata)
NEXT_PUBLIC_YOUTUBE_API_KEY=your_youtube_api_key_here
# Music.ai API Key (required for lyrics transcription)
MUSIC_AI_API_KEY=your_music_ai_api_key_here
# Set to 'true' to use mock implementation for testing without a Music.ai API key
USE_MOCK_MUSIC_AI=false
# Python Backend API URL Configuration
# ==========================================
# IMPORTANT: keep backend URLs server-only. Do NOT expose them as NEXT_PUBLIC_* variables.
# Deployment platforms already provide NODE_ENV for production builds.
# Do not set VERCEL_ENV manually just to control backend routing.
# LOCAL DEVELOPMENT (Default - requires local Python backend on port 5001)
# Uses port 5001 to avoid conflict with macOS AirPlay/AirTunes service on port 5000
#
# Environment-specific URLs:
# - Local development: http://localhost:5001
# - Docker Compose: http://backend:8080 (set in .env.docker)
# - Production: set PYTHON_API_URL privately in your deployment platform
PYTHON_API_URL=http://localhost:5001
# Optional dedicated SongFormer backend for deployed SSR frontends.
# If omitted in production, SongFormer routes fall back to PYTHON_API_URL.
SONGFORMER_API_URL=
# Optional Cloud Tasks queue used by Next.js BFF to dispatch long SongFormer jobs.
SONGFORMER_TASKS_LOCATION=us-central1
SONGFORMER_TASKS_QUEUE=songformer-segmentation
SONGFORMER_TASKS_DISPATCH_DEADLINE_SECONDS=900
# Dedicated SongFormer backend for local development (optional).
LOCAL_SONGFORMER_API_URL=http://localhost:8080
SONGFORMER_BACKEND_TIMEOUT_MS=600000
SONGFORMER_CALLBACK_BASE_URL=
# Dedicated Sheet Sage backend for local development (optional).
SHEETSAGE_API_URL=
LOCAL_SHEETSAGE_API_URL=http://localhost:8082
SHEETSAGE_BACKEND_TIMEOUT_MS=600000
# Base URL for the application (used for generating public URLs)
NEXT_PUBLIC_BASE_URL=http://localhost:3000
# Gemini API Key (required for lyrics translation)
GEMINI_API_KEY=your_gemini_api_key_here
# Genius API Key (required for lyrics fetching from Genius.com)
GENIUS_API_KEY=your_genius_api_key_here
# Audio Processing Strategy Configuration
# =======================================
# Options: 'ytdown-io' (production) | 'ytdlp' (development) | 'yt-mp3-go' (fallback) | 'auto' (environment-based)
# Default: 'auto' (uses ytdown.io in production, yt-dlp in development)
NEXT_PUBLIC_AUDIO_STRATEGY=auto
NEXT_PUBLIC_ENABLE_SERVICE_WORKER=false
NEXT_PUBLIC_ENABLE_TRUE_STREAMING=false
NEXT_DISABLE_DEV_OVERLAY=true
# Redirect Firebase/GCS audio GETs away from the Vercel proxy in production.
# Keep this false until bucket CORS has been verified for your web origin(s).
AUDIO_PROXY_FIREBASE_REDIRECT_ENABLED=false
# Optional segmentation access and job cleanup configuration
SEGMENTATION_ACCESS_CODE=
NEXT_PUBLIC_SEGMENTATION_ACCESS_REQUEST_EMAIL=phantrongnghia510@gmail.com
CRON_SECRET=replace_with_random_secret
SEGMENTATION_STALE_JOB_CLEANUP_LIMIT=200
# Optional server-side Firebase admin credentials for cache cleanup and job persistence
FIREBASE_SERVICE_ACCOUNT_KEY=
FIREBASE_PROJECT_ID=your_project_id
# Redis Configuration (for production Docker deployment)
# ====================================================
# Set a secure password for Redis in production
REDIS_PASSWORD=your_secure_redis_password_here
# Firebase App Check with reCAPTCHA v3 (optional)
# ====================================================
# Protects heavy ML API routes from automated abuse.
# If not configured, App Check is silently skipped — the app works fine without it.
#
# 1. Create a reCAPTCHA v3 key at https://www.google.com/recaptcha/admin/create
# 2. Register your web app in Firebase Console → App Check → reCAPTCHA v3
# 3. Set the site key below (the secret key goes in Firebase Console, not here)
NEXT_PUBLIC_RECAPTCHA_V3_SITE_KEY=
# Monitor mode ('0') logs invalid tokens without blocking; enforce mode ('1') blocks them.
APPCHECK_ENFORCE=0