What it is
Navidrome is an open-source, web-based music collection server and streamer written in Go and released under the GPL-3.0 license. It lives in the self-hosted media server ecosystem and is intended for users who want to listen to a personal music collection from a browser or mobile device.
The concrete problem it solves is that a local music library is usually only available on one device or through a media player tied to that device. Navidrome provides a server that serves and streams the collection through a web interface, so the same library can be accessed remotely without using a hosted subscription service.
Key capabilities
- It handles very large music collections, according to the project README.
- It streams virtually any audio format available to the server, based on the README feature list.
- It reads and uses existing metadata, including support for compilations and box sets.
- It supports multiple users, with each user having separate play counts, playlists, and favourites.
- It monitors the music library for changes, imports new files, and reloads metadata automatically.
- It supports lyrics from sidecar .ttml, .yaml, .yml, .elrc, .lrc, .srt, and .txt files, as well as embedded TTML, Enhanced LRC, LRC, SRT, and plain-text tags.
- It provides a themeable, responsive web interface based on Material UI and is compatible with Subsonic-based clients and APIs, as indicated by the topics and README.
Who uses it and how
- Personal music collectors use it to expose a local library to browsers and mobile devices.
- Home-server users deploy it on Linux, macOS, Windows, or Raspberry Pi using Docker images or binaries.
- Multi-user setups use it when each person needs separate playlists, favourites, and play counts.
- Subsonic client users use it as a self-hosted backend for compatible music apps.
- Users who do not want to manage servers can use the officially supported PikaPods cloud hosting option.
Getting started
Typical installation methods are Docker images such as deluan/navidrome, ready-to-use binaries for major platforms including Raspberry Pi, and the hosted option through PikaPods. The README directs users to the project's website for installation instructions and advises using releases rather than the master branch for stable binaries.
When to use it — and when not to
Navidrome is appropriate when a user already owns or controls a music collection and wants a self-hosted Subsonic-compatible streaming server instead of a paid subscription service such as Spotify. It may be less suitable when a user wants a fully managed service without operating a server, although PikaPods is offered as a hosted option. The description does not specify database, storage, or SMTP requirements, and the public repository lists 275 open issues, so self-hosters should review the installation documentation and issue tracker before planning infrastructure.
project readme (upstream, from github) — read inline

Navidrome Music Server 

Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your
music collection from any browser or mobile device. It's like your personal Spotify!
Note: The master branch may be in an unstable or even broken state during development.
Please use releases instead of
the master branch in order to get a stable set of binaries.
Any feedback is welcome! If you need/want a new feature, find a bug or think of any way to improve Navidrome,
please file a GitHub issue or join the discussion in our
Subreddit. If you want to contribute to the project in any other way
(ui/backend dev,
translations,
themes), please join the chat in our
Discord server.
Installation
See instructions on the project's website
Cloud Hosting
PikaPods has partnered with us to offer you an
officially supported, cloud-hosted solution.
A share of the revenue helps fund the development of Navidrome at no additional cost for you.

Features
- Handles very large music collections
- Streams virtually any audio format available
- Reads and uses all your beautifully curated metadata
- Great support for compilations (Various Artists albums) and box sets (multi-disc albums)
- Multi-user, each user has their own play counts, playlists, favourites, etc...
- Very low resource usage
- Multi-platform, runs on macOS, Linux and Windows. Docker images are also provided
- Ready to use binaries for all major platforms, including Raspberry Pi
- Automatically monitors your library for changes, importing new files and reloading new metadata
- Supports lyrics from sidecar .ttml, .yaml/.yml Lyricsfile, .elrc, .lrc, .srt, .txt files and embedded TTML, Enhanced LRC, LRC, SRT, and plain-text tags (via
lyricspriority)
- Themeable, modern and responsive Web interface based on Material UI
- Compatible with all Subsonic/Madsonic/Airsonic clients
- Transcoding on the fly. Can be set per user/player. Opus encoding is supported
- Translated to various languages
Translations
Navidrome uses POEditor for translations, and we are always looking
for more contributors
Documentation
All documentation can be found in the project's website: https://www.navidrome.org/docs.
Here are some useful direct links:
Screenshots