Introduces a template-based file organization system for downloads, allowing users to define custom folder and filename structures for albums, singles, and playlists. Updates the backend, config example, web UI, and client-side validation to support template editing, resetting, and error checking. Improves consistency in file placement and metadata handling across all download modes.
62 lines
No EOL
1.6 KiB
JSON
62 lines
No EOL
1.6 KiB
JSON
{
|
|
"active_media_server": "plex",
|
|
"spotify": {
|
|
"client_id": "SpotifyClientID",
|
|
"client_secret": "SpotifyClientSecret",
|
|
"redirect_uri": "http://127.0.0.1:8888/callback"
|
|
},
|
|
"tidal": {
|
|
"client_id": "TidalClientID",
|
|
"client_secret": "TidalClientSecret",
|
|
"redirect_uri": "http://127.0.0.1:8889/tidal/callback"
|
|
},
|
|
"plex": {
|
|
"base_url": "http://192.168.86.36:32400",
|
|
"token": "PLEX_API_TOKEN",
|
|
"auto_detect": true
|
|
},
|
|
"jellyfin": {
|
|
"base_url": "http://localhost:8096",
|
|
"api_key": "JELLYFIN_API_KEY",
|
|
"auto_detect": true
|
|
},
|
|
"navidrome": {
|
|
"base_url": "http://localhost:4533",
|
|
"username": "NAVIDROME_USERNAME",
|
|
"password": "NAVIDROME_PASSWORD",
|
|
"auto_detect": true
|
|
},
|
|
"soulseek": {
|
|
"slskd_url": "http://host.docker.internal:5030",
|
|
"api_key": "SoulseekAPIKey",
|
|
"download_path": "/app/downloads",
|
|
"transfer_path": "/app/Transfer"
|
|
},
|
|
"logging": {
|
|
"path": "logs/app.log",
|
|
"level": "INFO"
|
|
},
|
|
"database": {
|
|
"path": "database/music_library.db",
|
|
"max_workers": 5
|
|
},
|
|
"metadata_enhancement": {
|
|
"enabled": true,
|
|
"embed_album_art": true
|
|
},
|
|
"file_organization": {
|
|
"enabled": true,
|
|
"templates": {
|
|
"album_path": "$albumartist/$albumartist - $album/$track - $title",
|
|
"single_path": "$artist/$artist - $title/$title",
|
|
"compilation_path": "Compilations/$album/$track - $artist - $title",
|
|
"playlist_path": "$playlist/$artist - $title"
|
|
}
|
|
},
|
|
"playlist_sync": {
|
|
"create_backup": true
|
|
},
|
|
"listenbrainz": {
|
|
"token": "LISTENBRAINZ_TOKEN"
|
|
}
|
|
} |