# ============================================================================= # Spotify Le 2 - Environment Variables # ============================================================================= # Copy this file to .env and fill in your values. # DO NOT commit .env to version control. # ----------------------------------------------------------------------------- # Application # ----------------------------------------------------------------------------- APP_NAME="Spotify Le 2" APP_VERSION="0.1.0" DEBUG=true API_V1_PREFIX="/api/v1" # Server HOST=0.0.0.0 PORT=8000 # CORS - Comma-separated list of allowed origins BACKEND_CORS_ORIGINS=http://localhost:3000,http://localhost:8000 # ----------------------------------------------------------------------------- # Database (PostgreSQL) # ----------------------------------------------------------------------------- POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_USER=spotify POSTGRES_PASSWORD=change_this_password_in_production POSTGRES_DB=spotify_le_2 # ----------------------------------------------------------------------------- # Redis # ----------------------------------------------------------------------------- REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD= REDIS_DB=0 # Alternative: Full Redis URL (overrides above if set) # REDIS_URL=redis://:password@localhost:6379/0 # ----------------------------------------------------------------------------- # JWT Security # ----------------------------------------------------------------------------- # IMPORTANT: Change this to a strong random string in production! SECRET_KEY=change-this-secret-key-in-production-use-openssl-rand-hex-32 ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=15 REFRESH_TOKEN_EXPIRE_DAYS=7 # Password hashing PASSWORD_HASH_ALGORITHM=bcrypt PASSWORD_HASH_ROUNDS=12 # ----------------------------------------------------------------------------- # Storage # ----------------------------------------------------------------------------- STORAGE_PATH=./storage AUDIO_CACHE_PATH=./storage/audio/cache AUDIO_PERMANENT_PATH=./storage/audio/permanent THUMBNAILS_PATH=./storage/thumbnails MAX_CACHE_SIZE_GB=50 # ----------------------------------------------------------------------------- # YouTube # ----------------------------------------------------------------------------- # Get your API key from: https://console.cloud.google.com/ YOUTUBE_API_KEY= YTDLP_PATH=yt-dlp # ----------------------------------------------------------------------------- # Spotify (for playlist import) # ----------------------------------------------------------------------------- # Get your credentials from: https://developer.spotify.com/dashboard SPOTIFY_CLIENT_ID= SPOTIFY_CLIENT_SECRET= SPOTIFY_REDIRECT_URI=http://localhost:8000/api/v1/import/spotify/callback # ----------------------------------------------------------------------------- # Last.fm (for metadata and recommendations) # ----------------------------------------------------------------------------- # Get your API key from: https://www.last.fm/api/account/create LASTFM_API_KEY= LASTFM_SECRET= # ----------------------------------------------------------------------------- # Rate Limiting # ----------------------------------------------------------------------------- RATE_LIMIT_PER_MINUTE=100 RATE_LIMIT_BURST=200 # ----------------------------------------------------------------------------- # File Upload # ----------------------------------------------------------------------------- MAX_FILE_SIZE_MB=100 ALLOWED_AUDIO_TYPES=audio/mpeg,audio/ogg,audio/wav,audio/flac # ----------------------------------------------------------------------------- # Audio Processing # ----------------------------------------------------------------------------- FFMPEG_PATH=ffmpeg AUDIO_QUALITY=high BITRATE=320 # ----------------------------------------------------------------------------- # Logging # ----------------------------------------------------------------------------- LOG_LEVEL=INFO LOG_FILE_PATH=./logs # ----------------------------------------------------------------------------- # Pagination # ----------------------------------------------------------------------------- DEFAULT_PAGE_SIZE=20 MAX_PAGE_SIZE=100