{"id":13516749,"url":"https://github.com/basings/selfhosted-music-overview","last_synced_at":"2025-03-31T07:30:27.184Z","repository":{"id":39340418,"uuid":"419366174","full_name":"basings/selfhosted-music-overview","owner":"basings","description":"A table listing software network services which can be hosted on your own servers","archived":false,"fork":false,"pushed_at":"2024-12-21T09:20:26.000Z","size":299,"stargazers_count":742,"open_issues_count":48,"forks_count":35,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-12-21T10:25:18.101Z","etag":null,"topics":["cloud","hosting","self-hosted","selfhosted"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basings.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-20T14:32:50.000Z","updated_at":"2024-12-21T09:20:30.000Z","dependencies_parsed_at":"2024-01-29T21:45:23.835Z","dependency_job_id":"b3aeb726-dd55-41d3-a5ac-d549104f7180","html_url":"https://github.com/basings/selfhosted-music-overview","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basings%2Fselfhosted-music-overview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basings%2Fselfhosted-music-overview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basings%2Fselfhosted-music-overview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basings%2Fselfhosted-music-overview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basings","download_url":"https://codeload.github.com/basings/selfhosted-music-overview/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246432771,"owners_count":20776459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","hosting","self-hosted","selfhosted"],"created_at":"2024-08-01T05:01:25.466Z","updated_at":"2025-03-31T07:30:27.176Z","avatar_url":"https://github.com/basings.png","language":null,"funding_links":[],"categories":["Technical","cloud","Software"],"sub_categories":["Media Asset Management (MAM), Media Libraries, Music Server and protocols"],"readme":"[](https://www.gnu.org/licenses/fdl-1.3)\n\n# selfhosted-music-overview\n\nselfhosted-music-overview intends to provide an overview of self-hostable music streaming servers and clients.\n\n## Table of Contents\n\n1. [Server Overview](#server-overview)\n2. [Client Overview](#client-overview)\n3. [Emoji Definitions](#emoji-definitions)\n4. [How to Contribute](#how-to-contribute-wip)\n5. [Selfhosted Photos](#selfhosted-photos)\n6. [Footnotes](#footnotes)\n\n## Server Overview\n\n|                                                                             | 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 |                                                                             |\n| --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | --------------------------------------------- | ------------------------------------ | ----------------------------------------------- | ------------------ | ------------------ | ------------------------------------- | ------------------ | ------------------------------------- | ------------------------------------ | ------------------ | ------------------------------------- | --------------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------- | ---------------- | --------------------------------------------------------------------------- |\n| [Airsonic](https://airsonic.github.io/)                                     | [last.fm](https://www.last.fm/)                                                                                                                                            | :grey_question:    | :heavy_check_mark: | :heavy_check_mark: | [Subsonic](http://www.subsonic.org/pages/index.jsp)                                                                    |                                        | :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](https://airsonic.github.io/)                            | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 10.6.2           | [Airsonic](https://airsonic.github.io/)                                     |\n| [Airsonic-advanced](https://github.com/airsonic-advanced/airsonic-advanced) | [last.fm](https://www.last.fm/)                                                                                                                                            | :grey_question:    | :heavy_check_mark: | :heavy_check_mark: | [Subsonic](http://www.subsonic.org/pages/index.jsp)                                                                    |                                        | :heavy_check_mark:                            | :heavy_check_mark:                   |                                                 | :heavy_check_mark: |                    |                                       | :heavy_check_mark: | :heavy_check_mark:                    |                                      |                    | :heavy_check_mark:                    | :x:                                     | [GitHub](https://github.com/airsonic-advanced/airsonic-advanced) | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 11               | [Airsonic-advanced](https://github.com/airsonic-advanced/airsonic-advanced) |\n| [gonic](https://github.com/sentriz/gonic)                                   | [last.fm](https://www.last.fm/), [ListenBrainz](https://listenbrainz.org/)                                                                                                 | :heavy_check_mark: | :heavy_check_mark: | :x:                | [OpenSubsonic](https://opensubsonic.netlify.app/)                                                                      |                                        | :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](https://github.com/sentriz/gonic)                       | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 0.16.2           | [gonic](https://github.com/sentriz/gonic)                                   |\n| [Ampache](https://ampache.org/)                                             | [last.fm](https://www.last.fm), [ListenBrainz](https://listenbrainz.org), [libre.fm](https:/libre.fm)                                                                      | :grey_question:    | :heavy_check_mark: | :heavy_check_mark: | [Subsonic](http://www.subsonic.org/pages/index.jsp), 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](https://ampache.org/demo.html)   | [GitHub](https://github.com/ampache/ampache/)                    | [aGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) | 5.6.0            | [Ampache](https://ampache.org/)                                             |\n| [Jellyfin](https://jellyfin.org/)                                           | [last.fm](https://www.last.fm/) [^github-lastfm-jellyfin], [ListenBrainz](https://listenbrainz.org/)[^github-jellyfin-plugin-listenbrainz]                                 | :x:                | :heavy_check_mark: | :heavy_check_mark: | Jellyfin, [Subsonic](http://www.subsonic.org/pages/index.jsp)[^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](https://demo.jellyfin.org/)      | [GitHub](https://github.com/jellyfin/jellyfin)                   | [GPLv2](https://www.gnu.de/documents/gpl-2.0.de.html)   | 10.7.7           | [Jellyfin](https://jellyfin.org/)                                           |\n| [Funkwhale](https://funkwhale.audio/)                                       | [last.fm](https://www.last.fm), [ListenBrainz](https://listenbrainz.org), [libre.fm](https:/libre.fm), [Maloja](https://github.com/krateng/maloja) [^funkwhale-scrobbling] | :grey_question:    | :heavy_check_mark: | :heavy_check_mark: | [WIP custom](https://docs.funkwhale.audio/api.html), [subsonic](https://docs.funkwhale.audio/developers/subsonic.html) | :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](https://dev.funkwhale.audio/funkwhale)                  | [aGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) | 1.2.6            | [Funkwhale](https://funkwhale.audio/)                                       |\n| [Lightweight Music Server](https://github.com/epoupon/lms)                  | [ListenBrainz](https://listenbrainz.org/)                                                                                                                                  | :x:                | :heavy_check_mark: | :x:                | [Subsonic](http://www.subsonic.org/pages/index.jsp), [OpenSubsonic](https://opensubsonic.netlify.app)                  | :x:                                    | :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: | :heavy_check_mark:                    | [Demo](https://lms-demo.poupon.dev/)    | [GitHub](https://github.com/epoupon/lms)                         | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 3.62.1           | [Lightweight Music Server](https://github.com/epoupon/lms)                  |\n| [Logitech Media Server](https://www.mysqueezebox.com/download)              | [last.fm](https://www.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](https://github.com/Logitech/slimserver)                 | [GPLv2](https://www.gnu.de/documents/gpl-2.0.de.html)   | 8.2              | [Logitech Media Server](https://www.mysqueezebox.com/download)              |\n| [mStream](https://mstream.io/)                                              | [last.fm](https://www.last.fm/)                                                                                                                                            | :heavy_check_mark: | :heavy_check_mark: | :x:                | [custom](^mstream-api)                                                                                                 | :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](https://demo.mstream.io/)        | [GitHub](https://github.com/IrosTheBeggar/mStream)               | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 5.9.4            | [mStream](https://mstream.io/)                                              |\n| [Navidrome](https://github.com/navidrome/navidrome)                         | [last.fm](https://www.last.fm/), [ListenBrainz](https://listenbrainz.org/)                                                                                                 | :heavy_check_mark: | :heavy_check_mark: | :x:                | [OpenSubsonic](https://opensubsonic.netlify.app/)                                                                      | :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:                                  | :heavy_check_mark: | :heavy_check_mark:                    | [Demo](https://www.navidrome.org/demo/) | [GitHub](https://github.com/navidrome/navidrome)                 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 0.53.3           | [Navidrome](https://github.com/navidrome/navidrome)                         |\n| [Plex](https://www.plex.tv/)                                                | [last.fm](https://www.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](https://app.plex.tv/desktop/#!/) | [GitHub](https://github.com/plexinc)                             | :grey_question:                                         | :grey_question:  | [Plex](https://www.plex.tv/)                                                |\n| [Polaris](https://github.com/agersant/polaris)                              | :x:                                                                                                                                            | :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](https://github.com/agersant/polaris)                    | [MIT](https://mit-license.org/)                         | 0.13.5           | [Polaris](https://github.com/agersant/polaris)                              |\n|                                                                             | 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 |                                                                             |\n\n[^github-mstream]: https://github.com/IrosTheBeggar/mStream\n[^github-mpd]: https://github.com/MusicPlayerDaemon/MPD\n[^github-mopidy]: https://github.com/mopidy\n[^github-koel]: https://github.com/koel/koel\n[^github-ampache]: https://github.com/ampache/ampache/\n[^github-plex]: https://github.com/plexinc\n[^github-emby]: https://github.com/MediaBrowser/Emby\n[^github-jellyfin]: https://github.com/jellyfin/jellyfin\n[^github-navidrome]: https://github.com/navidrome/navidrome\n[^github-airsonic]: https://airsonic.github.io/\n[^github-subsonic]: https://github.com/subsonic\n[^gitlab-funkwhale]: https://dev.funkwhale.audio/funkwhale\n[^github-lms]: https://github.com/epoupon/lms\n\n[^website-emby]: https://emby.media/\n[^website-mpd]: http://www.musicpd.org/\n[^website-funkwhale]: https://funkwhale.audio/\n[^website-mstream]: https://mstream.io/\n[^website-ampache]: https://ampache.org/\n[^website-mopidy]: https://docs.mopidy.com/\n[^website-koel]: https://koel.dev/\n[^website-musicpd]: https://www.musicpd.org/\n[^website-serviio]: https://www.serviio.org/\n[^website-squeezebox]: https://www.mysqueezebox.com/download\n[^website-jellyfin]: https://jellyfin.org\n\n[^logitech-share]: [Native Plugin](https://github.com/Logitech/slimserver/tree/public/8.3/Slim/Plugin/UPnP) enabling UPnP/DNLA support\n[^review1]: needs review\n[^logitech-multi]: [Plugin](https://wiki.slimdevices.com/index.php/Multi_Library_plugin.html)\n[^logitech-comment-playlist]: works best if music library has been analysed by MusicIP beforehand, otherwise limited capability\n[^github-logitech]: https://github.com/Logitech/slimserver\n[^github-lastfm-jellyfin]: https://github.com/jesseward/jellyfin-plugin-lastfm\n[^roadmap-navidrome]: on Navidrome''s public road map\n[^mstream-api]: https://github.com/IrosTheBeggar/mStream/blob/master/docs/API.md\n[^addon-jellysub]: https://github.com/nvllsvm/jellysub\n[^github-jellyfin-plugin-listenbrainz]: https://github.com/lyarenei/jellyfin-plugin-listenbrainz\n[^funkwhale-scrobbling]: https://docs.funkwhale.audio/users/builtinplugins.html\n[^gonic-recipies]: https://github.com/sentriz/gonic/wiki/recipes#smart-playlists\n\n## Client Overview\n\n|                                                                                     | 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 |                                                                                     |\n| ----------------------------------------------------------------------------------- | ------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -------------------- | --------------------- | ------------------- | -------------------- | ----------------------- | -------------------- | ----------------------------------------- | ------------------ | ------------------------------- | -------------------------------------- | ------------------ | ------------------ | ------------------ | ------------------ | ------------------- | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | --------------------- | ------------------ | ------------------ | ------------------ | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------- | ---------------- | ----------------------------------------------------------------------------------- |\n| [Dsub](https://github.com/daneren2005/Subsonic)                                     | 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](http://www.subsonic.org/pages/index.jsp)                                                                                                                                     | :heavy_check_mark: [^fdroid-dsub]       | [GitHub](https://github.com/daneren2005/Subsonic)                 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 5.5.2            | [Dsub](https://github.com/daneren2005/Subsonic)                                     |\n| [Finamp](https://github.com/UnicornsOnLSD/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](https://github.com/UnicornsOnLSD/finamp)                 | [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/)       | 0.5.1            | [Finamp](https://github.com/UnicornsOnLSD/finamp)                                   |\n| [Gelli](https://github.com/dkanada/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](https://github.com/dkanada/gelli)                        | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 1.3.2            | [Gelli](https://github.com/dkanada/gelli)                                           |\n| [Polaris Android](https://github.com/agersant/polaris)                              | 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](https://www.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](https://github.com/agersant/polaris)                     | [MIT](https://mit-license.org/)                         | 0.13.5           | [Polaris Android](https://github.com/agersant/polaris)                              |\n| [substreamer](https://substreamerapp.com/)                                          | 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](http://www.subsonic.org/pages/index.jsp)                                                                                                                                     | :x:                                     | :x:                                                               | :grey_question:                                         | 0.5.1            | [substreamer](https://substreamerapp.com/)                                          |\n| [Subtracks](https://github.com/austinried/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](http://www.subsonic.org/pages/index.jsp)                                                                                                                                     | :heavy_check_mark: [^fdroid-subtracks]  | [GitHub](https://github.com/austinried/subtracks)                 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 1.0.1            | [Subtracks](https://github.com/austinried/subtracks)                                |\n| [Ultrasonic](https://www.f-droid.org/en/packages/org.moire.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](http://www.subsonic.org/pages/index.jsp), [Airsonic](https://github.com/airsonic/airsonic), [Supysonic](https://github.com/spl0k/supysonic), [Ampache](https://ampache.org/) | :heavy_check_mark: [^fdroid-ultrasonic] | [GitHub](https://github.com/ultrasonic/ultrasonic)                | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 2.23.1           | [Ultrasonic](https://www.f-droid.org/en/packages/org.moire.ultrasonic/)             |\n| [SubMusic](https://apps.garmin.com/en-US/apps/600bd75f-6ccf-4ca5-bc7a-0a4fcfdcf794) | 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](http://www.subsonic.org/pages/api.jsp), [Ampache](https://ampache.org/api/), Plex                                                                                            | :white_circle:                          | [GitHub](https://github.com/memen45/submusic)                     | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 0.2.8-oebalus    | [SubMusic](https://apps.garmin.com/en-US/apps/600bd75f-6ccf-4ca5-bc7a-0a4fcfdcf794) |\n| [Lightweight Music Server](https://github.com/epoupon/lms)                          | 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:                | :heavy_check_mark: | :x:                | custom                                                                                                                                                                                  | :white_circle:                          | [GitHub](https://github.com/epoupon/lms)                          | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 3.62.1           | [Lightweight Music Server](https://github.com/epoupon/lms)                          |\n| [Navidrome](https://github.com/navidrome/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](http://www.subsonic.org/pages/index.jsp)                                                                                                                                     | :white_circle:                          | [GitHub](https://github.com/navidrome)                            | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 0.47.0           | [Navidrome](https://github.com/navidrome/navidrome)                                 |\n| [Polaris Web](https://github.com/agersant/polaris)                                  | 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](https://github.com/agersant/polaris)                     | [MIT](https://mit-license.org/)                         | 0.13.5           | [Polaris Web](https://github.com/agersant/polaris)                                  |\n| [Tauon Music Box](https://github.com/Taiko2k/TauonMusicBox)                         | 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](http://www.subsonic.org/pages/index.jsp), Koel, Emby, Spotify                                                                                      | :white_circle:                          | [Github](https://github.com/Taiko2k/TauonMusicBox/)               | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 7.0.1            | [Tauon Music Box](https://github.com/Taiko2k/TauonMusicBox)                         |\n| [Jellyamp](https://github.com/m0ngr31/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](https://github.com/m0ngr31/jellyamp)                     | [MIT](https://mit-license.org/)                         | 1.1.1            | [Jellyamp](https://github.com/m0ngr31/jellyamp)                                     |\n| [Sonixd](https://github.com/jeffvli/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](http://www.subsonic.org/pages/index.jsp)                                                                                                                           | :white_circle:                          | [Github](https://github.com/jeffvli/sonixd)                       | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 0.8.5            | [Sonixd](https://github.com/jeffvli/sonixd)                                         |\n| [Funkwhale](https://funkwhale.audio)                                                | 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](https://dev.funkwhale.audio/funkwhale/funkwhale)         | [aGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) | 1.2.6            | [Funkwhale](https://funkwhale.audio)                                                |\n| [Funkwhale Android](https://funkwhale.audio/en_US/apps/funkwhaleandroid)            | 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](https://dev.funkwhale.audio/funkwhale/funkwhale-android) | [MIT](https://mit-license.org/)                         | 0.1.4            | [Funkwhale Android](https://funkwhale.audio/en_US/apps/funkwhaleandroid)            |\n| [Symfonium](https://symfonium.app/)                                                 | 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](http://www.subsonic.org/pages/index.jsp), Kodi                                                                                                         | :x: [^symfonium-store]                  | :x:                                                               | Proprietary                                             | 3.2.0 (852)      | [Symfonium](https://symfonium.app/)                                                 |\n| [Supersonic](https://github.com/dweymouth/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](http://www.subsonic.org/pages/index.jsp), [OpenSubsonic](https://opensubsonic.netlify.app), Jellyfin                                                                         | :white_circle:                          | [GitHub](https://github.com/dweymouth/supersonic)                 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 0.8.2            | [Supersonic](https://github.com/dweymouth/supersonic)                               |\n| [tempo](https://github.com/CappielloAntonio/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:    | :heavy_check_mark:                | :heavy_check_mark: | :heavy_check_mark: | :x:                | [Subsonic](http://www.subsonic.org/pages/index.jsp)                                                                                                                                     | :x:                                     | [GitHub](https://github.com/CappielloAntonio/tempo)               | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)   | 3.2.8            | [tempo](https://github.com/CappielloAntonio/tempo)                                  |\n|                                                                                     | 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 |                                                                                     |\n\n[^fdroid-gelii]: https://f-droid.org/en/packages/com.dkanada.gramophone/\n[^symfonium-store]: without google play services, you need to [become creative](https://support.symfonium.app). The app generates a unique key once it gets installed which can not be inserted manually.\n[^github-gelli]: https://github.com/dkanada/gelli\n[^fdroid-finamp]: https://f-droid.org/packages/com.unicornsonlsd.finamp/\n[^github-finamp]: https://github.com/UnicornsOnLSD/finamp\n[^fdroid-ultrasonic]: https://www.f-droid.org/en/packages/org.moire.ultrasonic/\n[^github-finamp]: https://github.com/UnicornsOnLSD/finamp\n\n[^github-ultrasonic]: https://github.com/ultrasonic\n[^gplay-substreamer]: https://play.google.com/store/apps/details?id=com.ghenry22.substream2\u0026hl=en\u0026gl=US\n[^gitlab-funkwhale]: https://dev.funkwhale.audio/funkwhale/funkwhale-android\n[^fdroid-subtracks]: https://f-droid.org/en/packages/com.subtracks/\n[^fdroid-polaris]: https://f-droid.org/en/packages/agersant.polaris/\n[^github-subtracks]: https://github.com/austinried/subtracks\n[^fdroid-dsub]: https://f-droid.org/en/packages/github.daneren2005.dsub/\n[^github-dsub]: https://github.com/daneren2005/Subsonic\n[^fdroid-audinaut]: https://f-droid.org/en/packages/net.nullsum.audinaut/\n[^github-audinaut]: https://github.com/nvllsvm/Audinaut\n[^fdroid-subsonic]: https://f-droid.org/en/packages/net.sourceforge.subsonic.androidapp/\n[^sourceforge-subsonic]: https://sourceforge.net/projects/subsonic/\n[^github-navidrome]: https://github.com/navidrome\n\n[^help-subtracks-download]: There is a download button. It doesn't work for me.\n[^website-subsonic]: http://www.subsonic.org/pages/index.jsp\n[^website-funkwhale]: https://funkwhale.audio/\n[^fdroid-funkwhale]: https://f-droid.org/en/packages/audio.funkwhale.ffa/\n\n[^github-stretto]: https://github.com/benkaiser/stretto\n[^website-subfire]: https://subfireplayer.net/\n[^github-subplayer]: https://github.com/peguerosdc/subplayer\n\n[^cannot-write-tags]: Can't write tags to file.\n\n[^github-strawberry]: https://github.com/strawberrymusicplayer/strawberry\n[^github-amperfy]: https://github.com/BLeeEZ/amperfy\n[^github-isub]: https://github.com/einsteinx2/iSubMusicStreamer\n[^github-stretto]: https://github.com/benkaiser/stretto\n\n[^sonixd-offline]: [Is planned](https://github.com/jeffvli/sonixd/issues/10)\n\n## Emoji Definitions\n\n- :heavy_check_mark: means yes, it is supported\n- :x: means no, it is not supported\n- :heavy_dollar_sign: means the service/feature has a price `p` where `p\u003e0`\n- :grey_question: means help wanted, original author wasn't sure or couldn't judge the covered topic.\n- :white_circle: means the feature doesn't apply to this service and cannot be evaluated.\n- an empty cell is missing information. It is not intentionally left blank.\n\n## How to Contribute (WIP)\n\n- work in an editor that supports no forced line breaks (word wrap), otherwise you can't read the raw markdown table. [VSCodium](https://vscodium.com/), [Atom](https://atom.io/), [Notepad++](https://notepad-plus-plus.org/), [Kate](https://kate-editor.org/) and others are suitable for raw markdown editing.\n\n- work in an editor that supports some sort of [WYSIWYG](https://en.wikipedia.org/wiki/WYSIWYG) like [Obsidian](https://obsidian.md/) or [Typora](https://typora.io/) 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](https://github.com/tgrosinger/advanced-tables-obsidian).\n\n- 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.\n\n- open issue or a PR\n\n- matrix-room: #selfhosted-music-overview\n\n## Noteworthy\n\n[Music Assistant](https://github.com/music-assistant/server) is useful in order to connect streaming services with speakers.\n\n## Selfhosted Photos\n\nTo get an overview of selfhosted photo libraries please visit [foss_photo_libraries](https://github.com/meichthys/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.\n\n## Footnotes\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasings%2Fselfhosted-music-overview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasings%2Fselfhosted-music-overview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasings%2Fselfhosted-music-overview/lists"}