APP_ENV=production APP_VERSION=1.0.0 LOG_LEVEL=INFO APP_DOMAIN=example.com SQLITE_CACHE_PATH=/app/data/cache.sqlite3 TRUSTED_PROXY_CIDRS=172.30.20.0/24 MEDIA_TOKEN_SECRET=replace_with_a_long_random_secret_at_least_32_characters MEDIA_TOKEN_TTL_SECONDS=180 MEDIA_TOKEN_BIND_ANONYMOUS_ID=true AUDIO_CACHE_TTL=600 AUDIO_INFO_CACHE_TTL=600 AUDIO_NEGATIVE_CACHE_TTL=90 SEARCH_CACHE_TTL=600 RECOMMENDATION_CACHE_TTL=900 SOURCE_METADATA_CACHE_TTL=1800 NEGATIVE_CACHE_TTL=90 CACHE_MAX_VALUE_BYTES=2097152 CACHE_CLEANUP_INTERVAL_SECONDS=300 CACHE_CLEANUP_BATCH_SIZE=1000 YTDLP_CONCURRENCY=5 SEARCH_YTDLP_CONCURRENCY=3 AUDIO_YTDLP_CONCURRENCY=2 RECOMMENDATION_YTDLP_CONCURRENCY=3 YTDLP_PLAYER_CLIENTS=web,android,mweb,ios YTDLP_COOKIE_FILE= YTDLP_BROWSER= MAX_SEARCH_FETCH=100 RATE_LIMIT_WINDOW_SECONDS=60 RATE_LIMIT_SEARCH_MAX=30 RATE_LIMIT_AUDIO_MAX=20 MAX_ACTIVE_AUDIO_STREAMS=16 MAX_ACTIVE_AUDIO_STREAMS_PER_IP=4 MAX_ACTIVE_AUDIO_STREAMS_PER_ANONYMOUS_ID=4 MAX_REQUEST_BODY_BYTES=262144 HTTP_CONNECT_TIMEOUT_SECONDS=10 HTTP_RESPONSE_HEADER_TIMEOUT_SECONDS=60 HTTP_IDLE_READ_TIMEOUT_SECONDS=0 HTTP_MAX_CONNECTIONS=100 HTTP_MAX_KEEPALIVE_CONNECTIONS=20 AUDIO_UPSTREAM_ORIGIN=https://www.youtube.com AUDIO_UPSTREAM_REFERER=https://www.youtube.com/ ALLOWED_MEDIA_HOST_SUFFIXES=.googlevideo.com,googlevideo.com MAX_MEDIA_REDIRECTS=3 KEY_LOCKS_MAX=4096 RATE_LIMIT_BUCKETS_MAX=20000 PROXY_FILE=/app/proxies.txt PROXY_FILE_HOST=./proxies.txt PROXY_USER= PROXY_PASS= PROXY_RETRY_ATTEMPTS=3 PROXY_RELOAD_SECONDS=30 PROXY_FAILURE_COOLDOWN_SECONDS=120