selfhosted-music-overview intends to provide an overview of self-hostable music streaming servers and clients.
| Scrobbling | Jukebox Mode | Read Tags | Write Tags | API | Share Music | Multi-User | Multi-Library | Smart Playlists | Heart/ Favorites | 5 Star Rating | Replay Gain | Transcode | DLNA | Multi-Room | Lyrics | free | Demo | Source Code | License | Reviewed Version | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Airsonic | last.fm | β | βοΈ | βοΈ | Subsonic | βοΈ | βοΈ | βοΈ | βοΈ | βοΈπ² | βοΈπ² | β | GitHub | GPLv3 | 10.6.2 | Airsonic | ||||||
| Airsonic-advanced | last.fm | β | βοΈ | βοΈ | Subsonic | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | GitHub | GPLv3 | 11 | Airsonic-advanced | ||||||
| gonic | last.fm, ListenBrainz | βοΈ | βοΈ | β | OpenSubsonic | βοΈ | βοΈ | βοΈ 1 | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ 1 | βοΈ | β | GitHub | GPLv3 | 0.16.2 | gonic | |||
| Ampache | last.fm, ListenBrainz, libre.fm | β | βοΈ | βοΈ | Subsonic, custom | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | Demo | GitHub | aGPLv3 | 5.6.0 | Ampache | |
| Jellyfin | last.fm 2, ListenBrainz3 | β | βοΈ | βοΈ | Jellyfin, Subsonic4 | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | βοΈ | βοΈ | βοΈ | Demo | GitHub | GPLv2 | 10.7.7 | Jellyfin | ||
| Funkwhale | last.fm, ListenBrainz, libre.fm, Maloja 5 | β | βοΈ | βοΈ | WIP custom, subsonic | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | β | β | βοΈ | β | GitLab | aGPLv3 | 1.2.6 | Funkwhale |
| Lightweight Music Server | ListenBrainz | β | βοΈ | β | Subsonic, OpenSubsonic | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | βοΈ | βοΈ | Demo | GitHub | GPLv3 | 3.62.1 | Lightweight Music Server |
| Logitech Media Server | last.fm | βοΈ | βοΈ | β | custom | βοΈ 6 | βοΈ β 7 | βοΈ 8 | βοΈ 9 | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | GitHub | GPLv2 | 8.2 | Logitech Media Server |
| mStream | last.fm | βοΈ | βοΈ | β | custom | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | βοΈ | Demo | GitHub | GPLv3 | 5.9.4 | mStream |
| Navidrome | last.fm, ListenBrainz | βοΈ | βοΈ | β | OpenSubsonic | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | Demo | GitHub | GPLv3 | 0.58.0 | Navidrome |
| Plex | last.fm | βοΈ | βοΈ | βοΈ | β | βοΈ π² | βοΈ | βοΈ | βοΈπ² | βοΈ | βοΈ | βοΈπ² | βοΈ | βοΈ | βοΈπ² | Demo | GitHub | β | β | Plex | ||
| Polaris | β | β | βοΈ | β | custom | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | GitHub | MIT | 0.13.5 | Polaris | ||||||
| Roon | last.fm | β | βοΈ | βοΈ | custom | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βπ² | β | GitHub | Closed Source | 2.0.44 | Roon | |
| Scrobbling | Jukebox Mode | Read Tags | Write Tags | API | Share Music | Multi-User | Multi-Library | Smart Playlists | Heart/ Favorites | 5 Star Rating | Replay Gain | Transcode | DLNA | Multi-Room | Lyrics | free | Demo | Source Code | License | Reviewed Version |
| OS | Gapless Playback | Album View | Songs View | Folder View | Album Artist View | Artist View | Genre View | Decade View | Year View | Playlist Support | Most Played Song | Most Played Album | Recently Played Song | Recently Played Album | Recently Added Song | Recently Added Album | Frequently Played Album | Offline Mode | Download Music | Podcasts | Scrobbling | Musicbrainz | Similar Songs | Artist Top Songs | Shuffle Play | Random Album | Favorites / Starred | Bookmarks | 5 Stars | Search function | Chromecast Support | Android Auto | Dark Mode | Themeable | Open Source | free | Smart Recommendations | Video Support | Internet Radio | Lyrics | Crossfade | API | f-droid | Source Code | License | Reviewed Version | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dsub | Android | βοΈ | β | β | βοΈ | βοΈ | β | βοΈ | βοΈ | β | βοΈ | β | β | β | β | βοΈ | β | β | βοΈ | βοΈ | βοΈ | β | β | β | β | βοΈ | β | βοΈ | β | βοΈ | β | βοΈ | β | β | β | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | Subsonic | βοΈ 10 | GitHub | GPLv3 | 5.5.2 | Dsub |
| Finamp | Android, iOS | β | βοΈ | βοΈ | β | βοΈ | β | βοΈ | β | β | βοΈ | β | β | β | β | β | β | β | βοΈ | βοΈ | β | β | β | β | β | βοΈ | β | β | β | β | βοΈ | β | β | βοΈ | β | βοΈ | βοΈ | β | β | β | β | β | Jellyfin | βοΈ 11 | Github | MPL 2.0 | 0.5.1 | Finamp |
| Gelli | Android | βοΈ | βοΈ | βοΈ | β | βοΈ | β | βοΈ | β | β | βοΈ | β | β | β | β | βοΈ | βοΈ | β | β | β | β | βοΈ | β | βοΈ | β | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | β | βοΈ | β | βοΈ | βοΈ | β | β | β | β | β | Jellyfin | βοΈ 12 | GitHub | GPLv3 | 1.3.2 | Gelli |
| Polaris Android | Android | β | β | β | βοΈ | β | β | β | β | β | βοΈ | β | β | β | β | β | βοΈ | β | βοΈ | β | β | last.fm | β | β | β | βοΈ | β | β | β | β | βοΈ | β | β | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | β | β | custom | βοΈ 13 | GitHub | MIT | 0.13.5 | Polaris Android |
| substreamer | Android, iOS | β | βοΈ | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | β | βοΈ | β | β | β | β | β | β | β | βοΈ | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | β | βοΈ | βοΈ | β | βοΈ | β | β | βοΈ | βοΈ | β | β | β | β | Subsonic | β | β | β | 0.5.1 | substreamer |
| Subtracks | Android | βοΈ | βοΈ | β | β | βοΈ | β | β | β | β | βοΈ | β | β | β | βοΈ | β | β | βοΈ | β | β14 | β | βοΈ | β | β | β | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | β | βͺ | β | βοΈ | βοΈ | β | β | β | β | β | Subsonic | βοΈ 15 | GitHub | GPLv3 | 1.0.1 | Subtracks |
| Ultrasonic | Android | βοΈ | βοΈ | β | β | βοΈ | β | β | β | βοΈ | βοΈ | β | βοΈ | β | βοΈ | β | βοΈ | β | β | βοΈ | βοΈ | βοΈ | β | β | β | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | β | β | βοΈ | β | βοΈ | βοΈ | β | βοΈ | β | βοΈ | β | Subsonic, Airsonic, Supysonic, Ampache | βοΈ 16 | GitHub | GPLv3 | 2.23.1 | Ultrasonic |
| SubMusic | Garmin | β | β | β | β | β | β | β | β | β | βοΈ | β | β | β | β | β | β | β | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | βοΈ | β | β | β | β | β | β | β | β | β | βοΈ | βοΈ | β | β | β | β | β | Subsonic, Ampache, Plex | βͺ | GitHub | GPLv3 | 0.2.8-oebalus | SubMusic |
| Lightweight Music Server | Web | β | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | βοΈ | β | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | βͺ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | custom | βͺ | GitHub | GPLv3 | 3.62.1 | Lightweight Music Server |
| Navidrome | Web | β | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | βοΈ | βοΈ17 | β | β | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | β | βͺ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | βοΈ | βοΈ18 | β | Subsonic | βͺ | GitHub | GPLv3 | 0.58.0 | Navidrome |
| Polaris Web | Web | β | β | β | βοΈ | β | β | β | β | β | βοΈ | β | β | β | β | β | βοΈ | β | β | β | β | βοΈ | β | β | β | βοΈ | β | β | β | β | βοΈ | β | βͺ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | β | β | custom | βͺ | GitHub | MIT | 0.13.5 | Polaris Web |
| Tauon Music Box | Linux | βοΈ | βοΈ | βοΈ | β | β | β | β | β | β | βοΈ | βοΈ | β | β | β | β | β | β | β | β | β | βοΈ | β | β | β | βοΈ | β | βοΈ | β | βοΈ | βοΈ | β | βͺ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | βοΈ | β | Airsonic, Jellyfin, Plex, Subsonic, Koel, Emby, Spotify | βͺ | Github | GPLv3 | 7.0.1 | Tauon Music Box |
| Jellyamp | L, W, M | β | βοΈ | βοΈ | β | βοΈ | β | βοΈ | β | β | βοΈ | β | β | β | β | β | β | β | β | β | β | β | β | βοΈ | β | βοΈ | β | βοΈ | β | β | βοΈ | β | βͺ | β | β | βοΈ | βοΈ | βοΈ | β | β | β | β | Jellyfin | βͺ | Github | MIT | 1.1.1 | Jellyamp |
| Sonixd | L, W, M | βοΈ | βοΈ | β | β | βοΈ | β | βοΈ | β | β | βοΈ | β | βοΈ | β | βοΈ | β | βοΈ | β | β19 | βοΈ | β | β | β | β | β | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | βͺ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | βοΈ | βοΈ | Jellyfin, Subsonic | βͺ | Github | GPLv3 | 0.8.5 | Sonixd |
| Funkwhale | Web | β | βοΈ | βοΈ | β | βοΈ | β | β | β | β | βοΈ | βοΈ | β | βοΈ | β | β | βοΈ | β | β | βοΈ | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | βοΈ | β | β | βοΈ | β | βͺ | β | βοΈ | βοΈ | βοΈ | β | β | β | β | β | custom | βͺ | Gitlab | aGPLv3 | 1.2.6 | Funkwhale |
| Funkwhale Android | Android | β | βοΈ | β | β | βοΈ | β | β | β | β | βοΈ | β | β | β | β | β | β | β | βοΈ | βοΈ | β | β | β | β | β | βοΈ | β | βοΈ | β | β | βοΈ | β | β | βοΈ | β | βοΈ | βοΈ | β | β | β | β | β | custom | βοΈ20 | Gitlab | MIT | 0.1.4 | Funkwhale Android |
| Symfonium | Android | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | βοΈ | β | βοΈ | β | βοΈ | β | β | β | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | β | β | βοΈ | β | Plex, Emby, Jellyfin, Subsonic, Kodi | β 21 | β | Proprietary | 3.2.0 (852) | Symfonium |
| Supersonic | L, W, M | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | β | βοΈ | β | β | β | βοΈ | β | βοΈ | βοΈ | β | βοΈ | β | βοΈ | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | β | βͺ | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | β | β | Subsonic, OpenSubsonic, Jellyfin | βͺ | GitHub | GPLv3 | 0.8.2 | Supersonic |
| tempo | Android | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | βοΈ | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | βοΈ | β | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | Subsonic | β | GitHub | GPLv3 | 3.2.8 | tempo |
| OS | Gapless Playback | Album View | Songs View | Folder View | Album Artist View | Artist View | Genre View | Decade View | Year View | Playlist Support | Most Played Song | Most Played Album | Recently Played Song | Recently Played Album | Recently Added Song | Recently Added Album | Frequently Played Album | Offline Mode | Download Music | Podcasts | Scrobbling | Musicbrainz | Similar Songs | Artist Top Songs | Shuffle Play | Random Album | Favorites / Starred | Bookmarks | 5 Stars | Search function | Chromecast Support | Android Auto | Dark Mode | Themeable | Open Source | free | Smart Recommendations | Video Support | Internet Radio | Lyrics | Crossfade | API | f-droid | Source Code | License | Reviewed Version |
- βοΈ means yes, it is supported
- β means no, it is not supported
- π² means the service/feature has a price
pwherep>0 - β means help wanted, original author wasn't sure or couldn't judge the covered topic.
- βͺ means the feature doesn't apply to this service and cannot be evaluated.
- an empty cell is missing information. It is not intentionally left blank.
-
work in an editor that supports no forced line breaks (word wrap), otherwise you can't read the raw markdown table. VSCodium, Atom, Notepad++, Kate and others are suitable for raw markdown editing.
-
work in an editor that supports some sort of WYSIWYG like Obsidian or Typora otherwise it is a real mess to fill a markdown table. Typora can clean the final raw markdown table as well, and so can Obsidian with the Advanced Tables plugin.
-
To add a service it is always good to take the current version of the table to match the columns. I'll try to merge all PRs in a timely manner.
-
open issue or a PR
-
matrix-room: #selfhosted-music-overview
Music Assistant is useful in order to connect streaming services with speakers.
Multi-Scrobbler is a docker application that consolidates your listening activity across applications and can scrobble to multiple services.
To get an overview of selfhosted photo libraries please visit foss_photo_libraries. I just found it and thought I should share it since it provides a nive overview and is similar to this project but for photos instead of music.
Footnotes
-
https://github.com/sentriz/gonic/wiki/recipes#smart-playlists β© β©2
-
https://github.com/lyarenei/jellyfin-plugin-listenbrainz β©
-
needs review β©
-
works best if music library has been analysed by MusicIP beforehand, otherwise limited capability β©
-
https://f-droid.org/en/packages/github.daneren2005.dsub/ β©
-
There is a download button. It doesn't work for me. β©
-
https://www.f-droid.org/en/packages/org.moire.ultrasonic/ β©
-
Web UI only supports embedded time-synced lyrics as a limitation of the current player β©
-
without google play services, you need to become creative. The app generates a unique key once it gets installed which can not be inserted manually. β©