Octave
ghcr.io/johagan94/octave:latest
https://github.com/johagan94/octave/pkgs/container/octave
bridge
bash
false
http://[IP]:[PORT:8000]
https://raw.githubusercontent.com/johagan94/octave/main/docs/logo.png
Sync Spotify playlists into Jellyfin, request missing albums in Lidarr, and enrich matching with ListenBrainz and Last.fm. Browser-based setup — no config file editing needed.
Octave keeps your Spotify playlists mirrored into Jellyfin with three sync modes (add-only, full-sync, rebuild), automatic cover art, missing-track reports, and optional Lidarr album requests.
[b]Key features:[/b]
[ul]
[li]Spotify PKCE OAuth — connect via the web UI, no developer account required[/li]
[li]Fuzzy track matching with configurable threshold[/li]
[li]Parallel Lidarr album requests with per-artist state machine[/li]
[li]ListenBrainz MusicBrainz ID resolution and Last.fm enrichment[/li]
[li]Scheduled sync via cron, plus manual trigger from the dashboard[/li]
[li]SQLite sync history, SSE log tail, missing tracks CSV export[/li]
[li]HTTP Basic Auth for the web interface[/li]
[li]All credentials configurable from the UI — no .env file required[/li]
[/ul]
[b]Setup:[/b] After starting the container, open the web UI, go to Settings, click [b]Sign in to Jellyfin[/b] and [b]Auto-detect URL[/b] to configure credentials automatically. Then click [b]Connect Spotify[/b] to authorize. See the README for full setup instructions.
https://github.com/johagan94/octave/issues
https://github.com/johagan94/octave
https://raw.githubusercontent.com/johagan94/octave/main/README.md
MediaApp:Music MediaServer:Music Tools:Utilities
https://raw.githubusercontent.com/johagan94/octave/main/templates/octave.xml
MIT
spotify jellyfin lidarr sync playlist music listenbrainz lastfm
8000
/mnt/user/appdata/octave/config
/mnt/user/appdata/octave/data
/mnt/user/appdata/octave/logs
octave
0 2 * * *
false
UTC
INFO
Full release notes and changelog for all versions:
https://github.com/johagan94/octave/releases