Dorsal: An iOS-Native Jellyfin Music Client Worth Watching
If you run Jellyfin as your self-hosted media server and listen to music on iOS, your client options have historically been underwhelming. The official Jellyfin iOS app handles music, but it's a generalist player — not built around the album-listening experience that serious music fans want. Dorsal is a new open-source project aiming to fix that.
The developer, Jared Reich, has released Dorsal in public beta. It's iOS-native, album-focused, and built specifically for Jellyfin. Here's what's included and why it matters for Jellyfin users.
What Dorsal Actually Does
Dorsal isn't trying to be a full Jellyfin remote. It's scoped intentionally: music, albums, and the listening experience. That focus shows in the feature set:
- Album-centric UI — browsing and playback designed around albums rather than flat track lists
- Gapless playback — critical for classical, live recordings, and concept albums; most Jellyfin iOS clients don't handle this well
- Offline downloads — cache albums locally for playback without a server connection
- CarPlay support — browse and control playback from your car's head unit
- Siri integration — voice control for playback
- EQ controls — built-in equalizer for tuning your sound
For seedbox users who pipe their music library through Jellyfin, the offline download feature is particularly useful: you can sync albums to your phone directly from your Jellyfin server (which may be pulling from your seedbox storage or an rclone-mounted cloud drive) without needing a separate sync tool.
How to Get It and What to Expect
Dorsal is currently in public beta, distributed via TestFlight. You can find the project and TestFlight link at the GitHub repository:
https://github.com/jaredreich/dorsal
Because it's beta software connecting to your personal Jellyfin instance, a few practical notes:
- Your Jellyfin setup should be fairly standard — the developer notes his own setup is basic, and edge-case configurations (custom authentication proxies, non-standard ports, unusual library structures) may surface bugs
- Report issues on GitHub — this is how beta software improves; if something breaks, file an issue with your Jellyfin version and server setup details
- It's iOS only — no Android version announced
Setting It Up With Your Jellyfin Server
Getting Dorsal connected is straightforward if your Jellyfin server is already accessible externally. You'll need:
- Your Jellyfin server URL (e.g.,
https://jellyfin.yourdomain.comor your seedbox provider's Jellyfin URL if they offer it) - A Jellyfin user account with access to your music library
- Your music library properly tagged — Dorsal's album-focused UI relies on correct
Album,AlbumArtist, andYearmetadata
If your metadata is messy, run a library scan with beets or MusicBrainz Picard before connecting. Dorsal will only be as good as what Jellyfin exposes to it.
For users running Jellyfin behind a reverse proxy (nginx or Caddy), make sure WebSocket support is enabled — Jellyfin requires it for real-time communication:
# nginx example — add inside your Jellyfin location block
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
How It Compares to Existing Options
| Client | Platform | Album Focus | CarPlay | Offline | Gapless |
|---|---|---|---|---|---|
| Jellyfin iOS (official) | iOS | No | No | No | Partial |
| Infuse | iOS | No | Yes | Yes | No |
| Finamp | iOS | Partial | No | Yes | Yes |
| Dorsal | iOS | Yes | Yes | Yes | Yes |
Finamp is the closest existing alternative and is worth mentioning — it's a mature, open-source Jellyfin music client for iOS and Android with offline support and gapless playback. If you need something stable today, Finamp is the safer pick. But Dorsal's CarPlay support and native album-browsing experience give it a clear differentiation if those features matter to you.
The Practical Takeaway
If you're a Jellyfin user with a music library and you listen on iOS, Dorsal is worth installing via TestFlight right now — not because it's production-ready, but because early feedback shapes what it becomes. The feature set (CarPlay + gapless + offline + EQ in a single album-focused app) is exactly what's been missing from the Jellyfin iOS music ecosystem.
For the beta: connect it to a test Jellyfin account first if you're cautious, verify your music library metadata is clean, and report anything that breaks. The GitHub repo is the right place for that.
Keep an eye on the project — if it reaches a stable v1.0 release, it has a real shot at becoming the go-to iOS music client for self-hosted Jellyfin setups.