mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
Major changes: - Rename project from octo-fiesta to allstarr - Add Jellyfin proxy support alongside Subsonic/Navidrome - Implement fuzzy search with relevance scoring and Levenshtein distance - Add POST body logging for debugging playback progress issues - Separate local and external artists in search results - Add +5 score boost for external results to prioritize larger catalog(probably gonna reverse it) - Create FuzzyMatcher utility for intelligent search result scoring - Add ConvertPlaylistToJellyfinItem method for playlist support - Rename keys folder to apis and update gitignore - Filter search results by relevance score (>= 40) - Add Redis caching support with configurable settings - Update environment configuration with backend selection - Improve external provider integration (SquidWTF, Deezer, Qobuz) - Add tests for all services
98 lines
3.8 KiB
Plaintext
98 lines
3.8 KiB
Plaintext
# ===== BACKEND SELECTION =====
|
|
# Choose which media server backend to use: Subsonic or Jellyfin
|
|
BACKEND_TYPE=Subsonic
|
|
|
|
# ===== REDIS CACHE =====
|
|
# Enable Redis caching for metadata and images (default: true)
|
|
REDIS_ENABLED=true
|
|
|
|
# ===== SUBSONIC/NAVIDROME CONFIGURATION =====
|
|
# Server URL (required if using Subsonic backend)
|
|
SUBSONIC_URL=http://localhost:4533
|
|
|
|
# ===== JELLYFIN CONFIGURATION =====
|
|
# Server URL (required if using Jellyfin backend)
|
|
JELLYFIN_URL=http://localhost:8096
|
|
|
|
# API key for authentication (get from Jellyfin Dashboard > API Keys)
|
|
JELLYFIN_API_KEY=
|
|
|
|
# User ID (get from Jellyfin Dashboard > Users > click user > check URL)
|
|
JELLYFIN_USER_ID=
|
|
|
|
# Music library ID (optional, auto-detected if not set)
|
|
JELLYFIN_LIBRARY_ID=
|
|
|
|
# ===== MUSIC SOURCE SELECTION =====
|
|
# Music service to use: SquidWTF, Deezer, or Qobuz (default: SquidWTF)
|
|
MUSIC_SERVICE=SquidWTF
|
|
|
|
# Path where downloaded songs will be stored on the host (only applies if STORAGE_MODE=Permanent)
|
|
DOWNLOAD_PATH=./downloads
|
|
|
|
# ===== SQUIDWTF CONFIGURATION =====
|
|
# Different quality options for SquidWTF. Only FLAC supported right now
|
|
SQUIDWTF_QUALITY=FLAC
|
|
|
|
# ===== DEEZER CONFIGURATION =====
|
|
# Deezer ARL token (required if using Deezer)
|
|
# See README.md for instructions on how to get this token
|
|
DEEZER_ARL=your-deezer-arl-token
|
|
|
|
# Fallback ARL token (optional)
|
|
DEEZER_ARL_FALLBACK=
|
|
|
|
# Preferred audio quality: FLAC, MP3_320, MP3_128 (optional)
|
|
# If not specified, the highest available quality for your account will be used
|
|
DEEZER_QUALITY=
|
|
|
|
# ===== QOBUZ CONFIGURATION =====
|
|
# Qobuz user authentication token (required if using Qobuz)
|
|
# Get this from your browser after logging into play.qobuz.com
|
|
# See README.md for detailed instructions
|
|
QOBUZ_USER_AUTH_TOKEN=
|
|
|
|
# Qobuz user ID (required if using Qobuz)
|
|
# Get this from your browser after logging into play.qobuz.com
|
|
QOBUZ_USER_ID=
|
|
|
|
# Preferred audio quality: FLAC, FLAC_24_HIGH, FLAC_24_LOW, FLAC_16, MP3_320 (optional)
|
|
# If not specified, the highest available quality will be used
|
|
QOBUZ_QUALITY=
|
|
|
|
# ===== GENERAL SETTINGS =====
|
|
# External playlists support (optional, default: true)
|
|
# When enabled, allows searching and downloading playlists from Deezer/Qobuz
|
|
# Starring a playlist triggers automatic download of all tracks and creates an M3U file
|
|
ENABLE_EXTERNAL_PLAYLISTS=true
|
|
|
|
# Playlists directory name (optional, default: playlists)
|
|
# M3U playlist files will be created in {DOWNLOAD_PATH}/{PLAYLISTS_DIRECTORY}/
|
|
PLAYLISTS_DIRECTORY=playlists
|
|
|
|
# Explicit content filter (optional, default: All)
|
|
# - All: Show all tracks (no filtering)
|
|
# - ExplicitOnly: Exclude clean/edited versions, keep original explicit content
|
|
# - CleanOnly: Only show clean content (naturally clean or edited versions)
|
|
# Note: This only works with Deezer, Qobuz doesn't expose explicit content flags
|
|
EXPLICIT_FILTER=All
|
|
|
|
# Download mode (optional, default: Track)
|
|
# - Track: Download only the played track
|
|
# - Album: When playing a track, download the entire album in background
|
|
# The played track is downloaded first, remaining tracks are queued
|
|
DOWNLOAD_MODE=Track
|
|
|
|
# Storage mode (optional, default: Permanent)
|
|
# - Permanent: Files are saved to the library permanently and registered in the media server
|
|
# - Cache: Files are stored in /tmp and automatically cleaned up after CACHE_DURATION_HOURS
|
|
# Not registered in media server, ideal for streaming without library bloat
|
|
# Note: On Linux/Docker, you can customize cache location by setting TMPDIR environment variable
|
|
STORAGE_MODE=Permanent
|
|
|
|
# Cache duration in hours (optional, default: 1)
|
|
# Files older than this duration will be automatically deleted when STORAGE_MODE=Cache
|
|
# Based on last access time (updated each time the file is streamed)
|
|
# Cache location: /tmp/allstarr-cache (or $TMPDIR/allstarr-cache if TMPDIR is set)
|
|
CACHE_DURATION_HOURS=1
|