52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
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,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 |