mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
feat: spotify playlist injection
- Add SpotifyImportSettings configuration model - Create SpotifyMissingTracksFetcher background service - Inject virtual Spotify playlists into search results - Auto-match tracks from external providers - Update README with feature documentation - Configure sync window and playlist settings
This commit is contained in:
42
README.md
42
README.md
@@ -90,6 +90,7 @@ This project brings together all the music streaming providers into one unified
|
||||
- **Artist Deduplication**: Merges local and streaming artists to avoid duplicates
|
||||
- **Album Enrichment**: Adds missing tracks to local albums from streaming providers
|
||||
- **Cover Art Proxy**: Serves cover art for external content
|
||||
- **Spotify Playlist Injection** (Jellyfin only): Injects virtual Spotify playlists (Release Radar, Discover Weekly) with tracks auto-matched from streaming providers
|
||||
|
||||
## Supported Backends
|
||||
|
||||
@@ -287,6 +288,47 @@ Subsonic__EnableExternalPlaylists=false
|
||||
|
||||
> **Note**: Due to client-side filtering, playlists from streaming providers may not appear in the "Playlists" tab of some clients, but will show up in global search results.
|
||||
|
||||
### Spotify Playlist Injection (Jellyfin Only)
|
||||
|
||||
Allstarr can inject virtual Spotify playlists (Release Radar, Discover Weekly) into Jellyfin with tracks automatically matched from your configured streaming provider.
|
||||
|
||||
**Requirements:**
|
||||
- [Jellyfin Spotify Import Plugin](https://github.com/Viperinius/jellyfin-plugin-spotify-import) installed and configured
|
||||
- Plugin must run on a daily schedule (e.g., 4:15 PM daily)
|
||||
- Jellyfin API key with access to plugin endpoints
|
||||
|
||||
**Configuration:**
|
||||
|
||||
| Setting | Description |
|
||||
|---------|-------------|
|
||||
| `SpotifyImport:Enabled` | Enable Spotify playlist injection (default: `false`) |
|
||||
| `SpotifyImport:JellyfinUrl` | Jellyfin server URL for plugin access |
|
||||
| `SpotifyImport:ApiKey` | **REQUIRED** - Jellyfin API key for accessing missing tracks files |
|
||||
| `SpotifyImport:SyncStartHour` | Hour when plugin runs (24-hour format, 0-23) |
|
||||
| `SpotifyImport:SyncStartMinute` | Minute when plugin runs (0-59) |
|
||||
| `SpotifyImport:SyncWindowHours` | Hours to search for missing tracks files after sync time |
|
||||
| `SpotifyImport:Playlists` | Array of playlists to inject (Name, SpotifyName, Enabled) |
|
||||
|
||||
**How it works:**
|
||||
1. Jellyfin Spotify Import plugin runs daily and creates missing tracks files for playlists
|
||||
2. Allstarr fetches these files within the configured time window
|
||||
3. For each missing track, Allstarr searches your streaming provider (SquidWTF, Deezer, or Qobuz)
|
||||
4. Virtual playlists appear in Jellyfin with matched tracks ready to stream
|
||||
5. Tracks are downloaded on-demand when played
|
||||
|
||||
**Environment variables:**
|
||||
```bash
|
||||
SPOTIFY_IMPORT_ENABLED=true
|
||||
SPOTIFY_IMPORT_JELLYFIN_URL=http://localhost:8096
|
||||
SPOTIFY_IMPORT_API_KEY=your-jellyfin-api-key
|
||||
SPOTIFY_IMPORT_SYNC_START_HOUR=16
|
||||
SPOTIFY_IMPORT_SYNC_START_MINUTE=15
|
||||
SPOTIFY_IMPORT_SYNC_WINDOW_HOURS=2
|
||||
SPOTIFY_IMPORT_PLAYLISTS=Release Radar,Discover Weekly
|
||||
```
|
||||
|
||||
> **Note**: This feature only works with Jellyfin backend. The plugin must be configured to run on a schedule, and the sync window should cover the plugin's execution time.
|
||||
|
||||
### Getting Credentials
|
||||
|
||||
#### Deezer ARL Token
|
||||
|
||||
Reference in New Issue
Block a user