Home

Awesome

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

ScrobblingJukebox ModeRead TagsWrite TagsAPIShare MusicMulti-UserMulti-LibrarySmart PlaylistsHeart/ Favorites5 Star RatingReplay GainTranscodeDLNAMulti-RoomLyricsfreeDemoSource CodeLicenseReviewed Version
Airsoniclast.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:GitHubGPLv310.6.2Airsonic
Airsonic-advancedlast.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:GitHubGPLv311Airsonic-advanced
goniclast.fm, ListenBrainz:heavy_check_mark::heavy_check_mark::x:OpenSubsonic:heavy_check_mark::heavy_check_mark::heavy_check_mark: 1:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark: 1:heavy_check_mark::x:GitHubGPLv30.16.2gonic
Ampachelast.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:DemoGitHubaGPLv35.6.0Ampache
Jellyfinlast.fm 2, ListenBrainz3:x::heavy_check_mark::heavy_check_mark:Jellyfin, Subsonic4: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:DemoGitHubGPLv210.7.7Jellyfin
Funkwhalelast.fm, ListenBrainz, libre.fm, Maloja 5: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:GitLabaGPLv31.2.6Funkwhale
Lightweight Music ServerListenBrainz: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:DemoGitHubGPLv33.48.0Lightweight Music Server
Logitech Media Serverlast.fm:heavy_check_mark::heavy_check_mark::x:custom:heavy_check_mark: 6:heavy_check_mark: :grey_question: 7:heavy_check_mark: 8:heavy_check_mark: 9: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:GitHubGPLv28.2Logitech Media Server
mStreamlast.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:DemoGitHubGPLv35.9.4mStream
Navidromelast.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:DemoGitHubGPLv30.50.2Navidrome
Plexlast.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:DemoGitHub:grey_question::grey_question:Plex
Polarislast.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:GitHubMIT0.13.5Polaris
ScrobblingJukebox ModeRead TagsWrite TagsAPIShare MusicMulti-UserMulti-LibrarySmart PlaylistsHeart/ Favorites5 Star RatingReplay GainTranscodeDLNAMulti-RoomLyricsfreeDemoSource CodeLicenseReviewed Version

Client Overview

OSGapless PlaybackAlbum ViewSongs ViewFolder ViewAlbum Artist ViewArtist ViewGenre ViewDecade ViewYear ViewPlaylist SupportMost Played SongMost Played AlbumRecently Played SongRecently Played AlbumRecently Added SongRecently Added AlbumFrequently Played AlbumOffline ModeDownload MusicPodcastsScrobblingMusicbrainzSimilar SongsArtist Top SongsShuffle PlayRandom AlbumFavorites / StarredBookmarks5 StarsSearch functionChromecast SupportAndroid AutoDark ModeThemeableOpen SourcefreeSmart RecommendationsVideo SupportInternet RadioLyricsCrossfadeAPIf-droidSource CodeLicenseReviewed Version
DsubAndroid: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: 10GitHubGPLv35.5.2Dsub
FinampAndroid, 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: 11GithubMPL 2.00.5.1Finamp
GelliAndroid: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: 12GitHubGPLv31.3.2Gelli
Polaris AndroidAndroid: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: 13GitHubMIT0.13.5Polaris Android
substreamerAndroid, 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.1substreamer
SubtracksAndroid: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:14: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: 15GitHubGPLv31.0.1Subtracks
UltrasonicAndroid: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: 16GitHubGPLv32.23.1Ultrasonic
SubMusicGarmin: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:GitHubGPLv30.2.8-oebalusSubMusic
Lightweight Music ServerWeb: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:GitHubGPLv33.48.0Lightweight Music Server
NavidromeWeb: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:17: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:GitHubGPLv30.47.0Navidrome
Polaris WebWeb: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:GitHubMIT0.13.5Polaris Web
Tauon Music BoxLinux: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:GithubGPLv37.0.1Tauon Music Box
JellyampL, 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:GithubMIT1.1.1Jellyamp
SonixdL, 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:18: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:GithubGPLv30.8.5Sonixd
FunkwhaleWeb: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:GitlabaGPLv31.2.6Funkwhale
Funkwhale AndroidAndroid: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:19GitlabMIT0.1.4Funkwhale Android
SymfoniumAndroid: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: 20:x:Proprietary3.2.0 (852)Symfonium
SupersonicL, 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:GitHubGPLv30.8.2Supersonic
tempoAndroid: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:GitHubGPLv33.2.8tempo
OSGapless PlaybackAlbum ViewSongs ViewFolder ViewAlbum Artist ViewArtist ViewGenre ViewDecade ViewYear ViewPlaylist SupportMost Played SongMost Played AlbumRecently Played SongRecently Played AlbumRecently Added SongRecently Added AlbumFrequently Played AlbumOffline ModeDownload MusicPodcastsScrobblingMusicbrainzSimilar SongsArtist Top SongsShuffle PlayRandom AlbumFavorites / StarredBookmarks5 StarsSearch functionChromecast SupportAndroid AutoDark ModeThemeableOpen SourcefreeSmart RecommendationsVideo SupportInternet RadioLyricsCrossfadeAPIf-droidSource CodeLicenseReviewed Version

Emoji Definitions

How to Contribute (WIP)

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

Footnotes

  1. https://github.com/sentriz/gonic/wiki/recipes#smart-playlists 2

  2. https://github.com/jesseward/jellyfin-plugin-lastfm

  3. https://github.com/lyarenei/jellyfin-plugin-listenbrainz

  4. https://github.com/nvllsvm/jellysub

  5. https://docs.funkwhale.audio/users/builtinplugins.html

  6. Native Plugin enabling UPnP/DNLA support

  7. needs review

  8. Plugin

  9. works best if music library has been analysed by MusicIP beforehand, otherwise limited capability

  10. https://f-droid.org/en/packages/github.daneren2005.dsub/

  11. https://f-droid.org/packages/com.unicornsonlsd.finamp/

  12. https://f-droid.org/en/packages/com.dkanada.gramophone/

  13. https://f-droid.org/en/packages/agersant.polaris/

  14. There is a download button. It doesn't work for me.

  15. https://f-droid.org/en/packages/com.subtracks/

  16. https://www.f-droid.org/en/packages/org.moire.ultrasonic/

  17. Can't write tags to file.

  18. Is planned

  19. https://f-droid.org/en/packages/audio.funkwhale.ffa/

  20. 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.