mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
Fix web UI config persistence and cookie age tracking
- Add SPOTIFY_API_SESSION_COOKIE_SET_DATE to docker-compose.yml env mapping - Mount .env file in container for web UI to update - Add SessionCookieSetDate loading in Program.cs - Improve .env update logic with better error handling and logging - Auto-initialize cookie date when cookie exists but date not set - Simplify local vs external track detection in Jellyfin playlists - Enhanced Spotify playlist ID parsing (supports ID, URI, and URL formats) - Better UI clarity: renamed tabs to 'Link Playlists' and 'Active Playlists'
This commit is contained in:
36
.env.example
36
.env.example
@@ -126,29 +126,18 @@ SPOTIFY_IMPORT_SYNC_START_MINUTE=15
|
||||
# Example: If plugin runs at 4:15 PM and window is 2 hours, checks from 4:00 PM to 6:00 PM
|
||||
SPOTIFY_IMPORT_SYNC_WINDOW_HOURS=2
|
||||
|
||||
# Playlists configuration (SIMPLE FORMAT - recommended for .env files)
|
||||
# Comma-separated lists - all three must have the same number of items
|
||||
# Playlists configuration (JSON ARRAY FORMAT - managed by web UI)
|
||||
# Format: [["PlaylistName","SpotifyPlaylistId","first|last"],...]
|
||||
# - PlaylistName: Name as it appears in Jellyfin
|
||||
# - SpotifyPlaylistId: Get from Spotify URL (e.g., 37i9dQZF1DXcBWIGoYBM5M)
|
||||
# Accepts: spotify:playlist:ID, full URL, or just the ID
|
||||
# - first|last: Where to position local tracks (first=local tracks first, last=external tracks first)
|
||||
#
|
||||
# 1. Playlist IDs (get from Jellyfin playlist URL: https://jellyfin.example.com/web/#/details?id=PLAYLIST_ID)
|
||||
SPOTIFY_IMPORT_PLAYLIST_IDS=
|
||||
# Example:
|
||||
# SPOTIFY_IMPORT_PLAYLISTS=[["Discover Weekly","37i9dQZEVXcV6s7Dm7RXsU","first"],["Release Radar","37i9dQZEVXbng2vDHnfQlC","first"]]
|
||||
#
|
||||
# 2. Playlist names (as they appear in Jellyfin)
|
||||
SPOTIFY_IMPORT_PLAYLIST_NAMES=
|
||||
#
|
||||
# 3. Local track positions (optional - defaults to "first" if not specified)
|
||||
# - "first": Local tracks appear first, external tracks at the end
|
||||
# - "last": External tracks appear first, local tracks at the end
|
||||
SPOTIFY_IMPORT_PLAYLIST_LOCAL_TRACKS_POSITIONS=
|
||||
#
|
||||
# Example with 4 playlists:
|
||||
# SPOTIFY_IMPORT_PLAYLIST_IDS=4383a46d8bcac3be2ef9385053ea18df,ba50e26c867ec9d57ab2f7bf24cfd6b0,8203ce3be9b0053b122190eb23bac7ea,7c2b218bd69b00e24c986363ba71852f
|
||||
# SPOTIFY_IMPORT_PLAYLIST_NAMES=Discover Weekly,Release Radar,Today's Top Hits,On Repeat
|
||||
# SPOTIFY_IMPORT_PLAYLIST_LOCAL_TRACKS_POSITIONS=first,first,last,first
|
||||
#
|
||||
# Advanced: JSON array format (use only if you can't use the simple format above)
|
||||
# Format: [["PlaylistName","JellyfinPlaylistId","first|last"],...]
|
||||
# Note: This format may not work in .env files due to Docker Compose limitations
|
||||
# SPOTIFY_IMPORT_PLAYLISTS=[["Discover Weekly","4383a46d8bcac3be2ef9385053ea18df","first"],["Release Radar","ba50e26c867ec9d57ab2f7bf24cfd6b0","last"]]
|
||||
# RECOMMENDED: Use the web UI (Link Playlists tab) to manage playlists instead of editing this manually
|
||||
SPOTIFY_IMPORT_PLAYLISTS=[]
|
||||
|
||||
# ===== SPOTIFY DIRECT API (RECOMMENDED - ENABLES TRACK ORDERING & LYRICS) =====
|
||||
# This is the preferred method for Spotify playlist integration.
|
||||
@@ -176,6 +165,11 @@ SPOTIFY_API_CLIENT_SECRET=
|
||||
# 4. Note: This cookie expires periodically (typically every few months)
|
||||
SPOTIFY_API_SESSION_COOKIE=
|
||||
|
||||
# Date when the session cookie was set (ISO 8601 format)
|
||||
# Automatically set by the web UI when you update the cookie
|
||||
# Used to track cookie age and warn when approaching expiration (~1 year)
|
||||
SPOTIFY_API_SESSION_COOKIE_SET_DATE=
|
||||
|
||||
# Cache duration for playlist data in minutes (default: 60)
|
||||
# Release Radar updates weekly, Discover Weekly updates Mondays
|
||||
SPOTIFY_API_CACHE_DURATION_MINUTES=60
|
||||
|
||||
Reference in New Issue
Block a user