Selfhosted Music Overview Save

A table listing software network services which can be hosted on your own servers

Project README

selfhosted-music-overview

selfhosted-music-overview intends to provide an overview of self-hostable music streaming servers and clients.

Table of Contents

  1. Server Overview
  2. Client Overview
  3. Emoji Definitions
  4. How to Contribute
  5. Selfhosted Photos
  6. Footnotes

Server Overview

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 :grey_question: :heavy_check_mark: :heavy_check_mark: Subsonic :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark::heavy_dollar_sign: :heavy_check_mark::heavy_dollar_sign: :x: GitHub GPLv3 10.6.2 Airsonic
Airsonic-advanced last.fm :grey_question: :heavy_check_mark: :heavy_check_mark: Subsonic :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: GitHub GPLv3 11 Airsonic-advanced
gonic last.fm, ListenBrainz :heavy_check_mark: :heavy_check_mark: :x: OpenSubsonic :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: [^gonic-recipies] :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: [^gonic-recipies] :heavy_check_mark: :x: GitHub GPLv3 0.16.2 gonic
Ampache last.fm, ListenBrainz, libre.fm :grey_question: :heavy_check_mark: :heavy_check_mark: Subsonic, custom :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: Demo GitHub aGPLv3 5.6.0 Ampache
Jellyfin last.fm [^github-lastfm-jellyfin], ListenBrainz[^github-jellyfin-plugin-listenbrainz] :x: :heavy_check_mark: :heavy_check_mark: Jellyfin, Subsonic[^addon-jellysub] :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: Demo GitHub GPLv2 10.7.7 Jellyfin
Funkwhale last.fm, ListenBrainz, libre.fm, Maloja [^funkwhale-scrobbling] :grey_question: :heavy_check_mark: :heavy_check_mark: WIP custom, subsonic :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :x: GitLab aGPLv3 1.2.6 Funkwhale
Lightweight Music Server ListenBrainz :x: :heavy_check_mark: :x: Subsonic, OpenSubsonic :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: Demo GitHub GPLv3 3.48.0 Lightweight Music Server
Logitech Media Server last.fm :heavy_check_mark: :heavy_check_mark: :x: custom :heavy_check_mark: [^logitech-share] :heavy_check_mark: :grey_question: [^review1] :heavy_check_mark: [^logitech-multi] :heavy_check_mark: [^logitech-comment-playlist] :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: GitHub GPLv2 8.2 Logitech Media Server
mStream last.fm :heavy_check_mark: :heavy_check_mark: :x: custom :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: Demo GitHub GPLv3 5.9.4 mStream
Navidrome last.fm, ListenBrainz :heavy_check_mark: :heavy_check_mark: :x: OpenSubsonic :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :heavy_check_mark: Demo GitHub GPLv3 0.50.2 Navidrome
Plex last.fm :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :grey_question: :heavy_check_mark: :heavy_dollar_sign: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark::heavy_dollar_sign: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark::heavy_dollar_sign: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark::heavy_dollar_sign: Demo GitHub :grey_question: :grey_question: Plex
Polaris last.fm :grey_question: :heavy_check_mark: :x: custom :grey_question: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: GitHub MIT 0.13.5 Polaris
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

[^logitech-share]: Native Plugin enabling UPnP/DNLA support [^review1]: needs review [^logitech-multi]: Plugin [^logitech-comment-playlist]: works best if music library has been analysed by MusicIP beforehand, otherwise limited capability [^github-logitech]: https://github.com/Logitech/slimserver [^github-lastfm-jellyfin]: https://github.com/jesseward/jellyfin-plugin-lastfm [^roadmap-navidrome]: on Navidrome''s public road map [^mstream-api]: https://github.com/IrosTheBeggar/mStream/blob/master/docs/API.md [^addon-jellysub]: https://github.com/nvllsvm/jellysub [^github-jellyfin-plugin-listenbrainz]: https://github.com/lyarenei/jellyfin-plugin-listenbrainz [^funkwhale-scrobbling]: https://docs.funkwhale.audio/users/builtinplugins.html [^gonic-recipies]: https://github.com/sentriz/gonic/wiki/recipes#smart-playlists

Client Overview

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 :heavy_check_mark: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :grey_question: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: Subsonic :heavy_check_mark: ^fdroid-dsub GitHub GPLv3 5.5.2 Dsub
Finamp Android, iOS :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: Jellyfin :heavy_check_mark: [^fdroid-finamp] Github MPL 2.0 0.5.1 Finamp
Gelli Android :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :grey_question: :x: :x: :x: :x: Jellyfin :heavy_check_mark: ^fdroid-gelii GitHub GPLv3 1.3.2 Gelli
Polaris Android Android :x: :x: :x: :heavy_check_mark: :x: :grey_question: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: last.fm :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :grey_question: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: custom :heavy_check_mark: ^fdroid-polaris GitHub MIT 0.13.5 Polaris Android
substreamer Android, iOS :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :x: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :grey_question: :heavy_check_mark: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: Subsonic :x: :x: :grey_question: 0.5.1 substreamer
Subtracks Android :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :grey_question:[^help-subtracks-download] :x: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :white_circle: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: Subsonic :heavy_check_mark: ^fdroid-subtracks GitHub GPLv3 1.0.1 Subtracks
Ultrasonic Android :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: Subsonic, Airsonic, Supysonic, Ampache :heavy_check_mark: [^fdroid-ultrasonic] GitHub GPLv3 2.23.1 Ultrasonic
SubMusic Garmin :x: :x: :x: :x: :x: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :x: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: Subsonic, Ampache, Plex :white_circle: GitHub GPLv3 0.2.8-oebalus SubMusic
Lightweight Music Server Web :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :white_circle: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: custom :white_circle: GitHub GPLv3 3.48.0 Lightweight Music Server
Navidrome Web :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark:[^cannot-write-tags] :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :white_circle: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: Subsonic :white_circle: GitHub GPLv3 0.47.0 Navidrome
Polaris Web Web :x: :x: :x: :heavy_check_mark: :x: :grey_question: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :white_circle: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: custom :white_circle: GitHub MIT 0.13.5 Polaris Web
Tauon Music Box Linux :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :grey_question: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :white_circle: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :x: Airsonic, Jellyfin, Plex, Subsonic, Koel, Emby, Spotify :white_circle: Github GPLv3 7.0.1 Tauon Music Box
Jellyamp L, W, M :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :white_circle: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: Jellyfin :white_circle: Github MIT 1.1.1 Jellyamp
Sonixd L, W, M :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :grey_question: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x:[^sonixd-offline] :heavy_check_mark: :x: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :grey_question: :x: :heavy_check_mark: :x: :white_circle: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: Jellyfin, Subsonic :white_circle: Github GPLv3 0.8.5 Sonixd
Funkwhale Web :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :white_circle: :grey_question: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: custom :white_circle: Gitlab aGPLv3 1.2.6 Funkwhale
Funkwhale Android Android :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :x: :x: :x: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :x: :grey_question: :grey_question: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :heavy_check_mark: :grey_question: :grey_question: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: custom :heavy_check_mark:[^fdroid-funkwhale] Gitlab MIT 0.1.4 Funkwhale Android
Symfonium Android :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :x: :x: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: :heavy_check_mark: :x: Plex, Emby, Jellyfin, Subsonic, Kodi :x: [^symfonium-store] :x: Proprietary 3.2.0 (852) Symfonium
Supersonic L, W, M :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :heavy_check_mark: :x: :x: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: :white_circle: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :x: :x: :x: :x: Subsonic, OpenSubsonic, Jellyfin :white_circle: GitHub GPLv3 0.8.2 Supersonic
tempo Android :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x: Subsonic :x: 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

[^symfonium-store]: 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. [^github-gelli]: https://github.com/dkanada/gelli [^fdroid-finamp]: https://f-droid.org/packages/com.unicornsonlsd.finamp/ [^github-finamp]: https://github.com/UnicornsOnLSD/finamp [^fdroid-ultrasonic]: https://www.f-droid.org/en/packages/org.moire.ultrasonic/ [^github-finamp]: https://github.com/UnicornsOnLSD/finamp

[^help-subtracks-download]: There is a download button. It doesn't work for me. [^website-subsonic]: http://www.subsonic.org/pages/index.jsp ^website-funkwhale: https://funkwhale.audio/ [^fdroid-funkwhale]: https://f-droid.org/en/packages/audio.funkwhale.ffa/

[^cannot-write-tags]: Can't write tags to file.

[^sonixd-offline]: Is planned

Emoji Definitions

  • :heavy_check_mark: means yes, it is supported
  • :x: means no, it is not supported
  • :heavy_dollar_sign: means the service/feature has a price p where p>0
  • :grey_question: means help wanted, original author wasn't sure or couldn't judge the covered topic.
  • :white_circle: 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.

How to Contribute (WIP)

  • 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

Noteworthy

Music Assistant is useful in order to connect streaming services with speakers.

Selfhosted Photos

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

Open Source Agenda is not affiliated with "Selfhosted Music Overview" Project. README Source: basings/selfhosted-music-overview
Stars
569
Open Issues
48
Last Commit
1 month ago

Open Source Agenda Badge

Open Source Agenda Rating