s1ne/.env.example
2026-09-09 05:39:07 +00:00

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,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