Overview
Keep your Jellyfin or Navidrome music library in sync with Spotify and YouTube playlists.
syllogi is a self-hosted automation tool that keeps your Jellyfin or Navidrome music library in sync with external playlists from Spotify and YouTube.
It matches tracks against your indexed audio, automatically downloads missing tracks via yt-dlp or slskd, generates personalized recommendations based on your listening history, and lets you browse trending charts, all from a single dashboard.
Quick Start
Get the stack running with Docker Compose.
Features
Playlist sync, downloads, recommendations, charts and library management.
Usage
Accounts, music-server users, and the Logs viewer.
Concepts
How matching, downloads, and schedules work.
Configuration
Every environment variable, plus Authentik SSO.
Troubleshooting
Fix common sync, download, and login issues.
Supported playlist providers
| Provider | Requirements |
|---|---|
| Spotify | No API key or account needed, public playlists only, via SpotAPI |
| YouTube | No API key needed, public playlists only, via yt-dlp |
Supported music servers
| Server | Requirements |
|---|---|
| Jellyfin | API key with permission to create and manage playlists |
| Navidrome | URL, username, and password |
Caveats
Before you start
- Matching depends on metadata quality from the provider and music server.
- Library refresh timing can delay newly downloaded tracks.
- A restart invalidates in-flight SSO logins.
Credits
Special thanks to the following projects for making syllogi possible: