🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
Go to file
Alex Palaistras ac5d99c079 Check MIME type for cover on refresh, display
Files that match the `CoverArtPriority` setting will now be considered
eligible only if their extensions are of an 'image/*' MIME type (e.g.
'.png' for 'image/png', '.jpg' for 'image/jpeg'). This prevents matching
files that will likely not be valid during display.

In addition to the above, code for returning the cover image file from
scanned data will also check against the MIME type for the path stored,
instead of attempting to re-trace `CoverArtPriority` matches. This
simplifies the code and bypasses a number of edge-cases related to
inconsistent matching.
2020-06-24 20:48:42 -04:00
.github Upgrade Node to v14 2020-05-27 05:35:25 -04:00
assets Move `static` to `resources`. Embed them at build time 2020-05-02 14:19:01 -04:00
conf Load cover art from file directory 2020-06-24 20:48:42 -04:00
consts Add referential integrity to player and playlist tables 2020-06-10 18:07:10 -04:00
contrib Add [Install] section to systemd unit file. 2020-05-21 08:19:12 -04:00
db Add referential integrity to player and playlist tables 2020-06-10 18:07:10 -04:00
engine Check MIME type for cover on refresh, display 2020-06-24 20:48:42 -04:00
log Fix staticcheck's SA1029 2020-05-13 16:49:55 -04:00
model Always use lowercase username, as it is used for referential integrity. Fixes #352 2020-06-14 20:20:10 -04:00
persistence Check MIME type for cover on refresh, display 2020-06-24 20:48:42 -04:00
resources Update tr.json (POEditor.com) 2020-06-23 16:53:55 -04:00
scanner Replace map[string]bool with map[string]struct{} 2020-06-14 03:11:16 -04:00
server Always use lowercase username, as it is used for referential integrity. Fixes #352 2020-06-14 20:20:10 -04:00
tests Skip scanning folders if they contain a `.ndignore` file. Closes #297 2020-05-18 14:37:01 -04:00
ui Restore volume level after a refresh 2020-06-24 15:33:59 -04:00
utils Remove tracks from DB that were deleted while Navidrome was not running. Fixes #151 2020-06-14 03:11:16 -04:00
.dockerignore Unify GH actions 2020-04-23 19:31:24 -04:00
.git-blame-ignore-revs Add a .git-blame-ignore-revs file 2020-04-20 10:41:41 -04:00
.gitignore Small change to trigger the pipeline 2020-04-23 22:29:33 -04:00
.golangci.yml An other batch of linters 2020-04-29 14:09:45 -04:00
.goreleaser.yml Move `static` to `resources`. Embed them at build time 2020-05-02 14:19:01 -04:00
.nvmrc Upgrade Node to v14 2020-05-27 05:35:25 -04:00
Dockerfile Upgrade Node to v14 2020-05-27 05:35:25 -04:00
LICENSE Change license to GPLv3 2020-01-22 14:48:38 -05:00
Makefile Add referential integrity to player and playlist tables 2020-06-10 18:07:10 -04:00
Procfile.dev Add ui subfolder, bootstrapped a "hello-world" React-Admin app, changed Makefile to start both apps in dev mode 2020-01-14 15:34:59 -05:00
README.md Add total downloads badge 2020-06-12 14:21:02 -04:00
docker-compose.yml Add BaseURL configuration (fixes #103) 2020-04-03 19:05:38 -04:00
go.mod Bump github.com/onsi/ginkgo from 1.12.3 to 1.13.0 2020-06-15 09:16:51 -04:00
go.sum go mod tidy 2020-06-18 12:51:15 -04:00
lefthook.yml Run pre-push hooks in parallel 2020-05-07 12:00:10 -04:00
main.go Add BaseURL configuration (fixes #103) 2020-04-03 19:05:38 -04:00
reflex.conf Add referential integrity to player and playlist tables 2020-06-10 18:07:10 -04:00
wire_gen.go Create and configure image cache 2020-04-05 22:02:06 -04:00
wire_injectors.go Add BaseURL configuration (fixes #103) 2020-04-03 19:05:38 -04:00

README.md

Navidrome Music Streamer

Last Release Build Downloads Docker Pulls Dev Chat Subreddit

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!

Any feedback is welcome! If you need/want a new feature, find a bug or think of any way to improve Navidrome, please fill 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 in the project's website

Features

  • Handles very large music collections
  • Streams virtually any audio format available
  • Reads and uses all your beautifully curated metadata
  • Great support for 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 Raspberry Pi binaries and Docker images available
  • Automatically monitors your library for changes, importing new files and reloading new metadata
  • 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

Documentation

All documentation can be found in the project's website: https://www.navidrome.org/docs. Here are some useful direct links:

Screenshots