I decided to leave Apple Music and go back to my own hosted music server after the original War song "Low Rider" that I had added to my library suddenly was replaced by the Spanish version! Then I realized a lot of songs and even a few complete albums were missing!!!
Related: https://gizmodo.com/why-you-should-still-be-buying-digital-downloads-1822189053
In case you didn't know, you can set Navidrome to not import m3u playlists with the configuration option AutoImportPlaylists
Or only import playlists from a specific path with the PlaylistsPath
option
https://www.navidrome.org/docs/usage/configuration-options/#available-options
It was not a "design choice" :P It is a limitation of React-Admin, the framework used to create the UI. I selected this framework so I could streamline the UI work (I'm not a frontend dev) and get more time to work on features in the backend.
The framework does not support virtualized datagrids. We actually participated in the GSoC this year and a student (samarsault) worked on implementing Infinite Scroll in Navidrome: https://github.com/navidrome/navidrome/pull/1201
There are still some rough edges in the PR, but we hope to merge it into Navidrome soon.
You have two problems here: secure https and not using Navidrome on a root url.
Firstly: If you want to use Navidrome on somewhere else then your root URL you need to change ND_BASEURL to /music
. Most people just pick a subdomain (eg. music.domain.com) to stash their applications as not applications are as configurable as Navidrome.
Secondly, use Certbot for the HTTPS part. Installation depends a lot on your OS.
>compilation : 1
Your album is tagged as a compilation. Related: https://www.navidrome.org/docs/faq/#i-have-an-album-with-tracks-by-different-artists-why-is-it-broken-up-into-lots-of-separate-albums-each-with-their-own-artist
May I recommend my project, Navidrome? It is compatible with Subsonic/Airsonic clients, very fast and lightweight, runs well on Windows, uses very little resources and has transcoding on-the-fly. It also sports a modern WebUI, and I'm actively working on it.
It is easy to try, there are self-contained, ready-to-use binaries for all major platforms (including Windows) and Docker.
For mobile clients, there are good options for both iOS (ex: play:Sub) and Android (Ex: Dsub, Audinaut, Music Stash)
Let me know if you want to try it out and have any questions. I'd be glad to help you out.
I have no issues with this (Navidrome 0.45.1 on macOS), which platform are you running the server on? If it's Windows, this bug was fixed in the current development build and will probably be in the next release.
You can work around it for now by changing to ffmpeg in the server settings: Scanner.Extractor = "ffmpeg"
- this changes the library that reads the tags from Taglib to ffmpeg, downside that this library is a bit slower and doesn't read multiple genres.
Thanks for trying it out!
Right now Navidrome only accepts one music folder, that must be specified as an environment variable. Take a look at all the startup options here: https://www.navidrome.org/docs/usage/configuration-options/
Let me know if you have any other questions
Navidrome is basically the most advanced and best (?) server for music. You can also use many 3rd party apps that support Navidrome for music playing or nearly any system. Personally, i don't have it yet and using Plex for now but i'm afraid of so many things really bad about it.
I have found the solution.
Maybe this can help if someone interested to run Navidrome this way,
In nssm Environment Variables Menu, just create a config file (navidrome.toml) and use like this ND_CONFIGFILE=C:\Navidrome\navidrome.toml
Bitwarden for my password management. I can't get into steam or any other service otherwise. I run my own music server (link if anyone's interested) which I can access with a web browser, so I don't need anything like VLC, just the Steam web browser or Firefox if the steam browser still sucks.
Some apps handle this perfectly:
Navidrome implements header authentication and all API calls go through /app/api/
. It is trivial to whitelist (so no authentication) all requests that start with /app/api/ in Authentik.
Syncthing routes all data to different ports then the front-end. So I just need to port-forward these ports to the server.
Jellyfin is the only app that really doesn't give a f*ck about external authentication. It's a pain in the but and implementing LDAP just for Jellyfin seems overkill. I have no solution for this yet except hoping this feature request will be implemented soon.
You need Navidrome https://www.navidrome.org/
Android client Substream
IOS Client https://isub.app/
For more incredible applications explained in Spanish you can visit https://t.me/aitorroma
Regards
I don't intend this as a knock on Jellyfin whatsoever as I haven't even tried the music hosting capabilities.
However, the reason I did not try hosting my music in Jellyfin is because I jumped right to Navidrome, which is a FLOSS music server compatible with the subsonic API. You may have some particular needs that I don't, but it's been the family jukebox for over a year and we've all been pretty happy with it.
My complaints about Navidrome (if any) are that although there are a lot of clients available for Android, each of them that I tried has a quirk or two. (I landed on Dsub as a client) I don't recall the name of the client my wife is using on her iphone, but I have to admit it looks nicer than any of the android clients I tried.
Other than that though - the webui is nice, and it doesn't seem to care at all about directory structure as far as I can tell. So long as the files are in a directory that it's been told has music, it categorizes them properly according to their tags.
May not suit your needs, but wanted to throw it out there as an option.
I just installed Navidrome. It's an self-hosted music streaming server for large collections which is easy to install (Docker-Compose) and has great Subsonic support.
Navidrome works flawlessly with the Substreamer iOS App on my iPhone. You should really give it a try!
Oh i fully understand the bar of entry for roon. That said, if you have the inclination. You could try d/l'ing the roon core software and seeing if that works. I believe you dont need to pay to use the core software (Note: I am doing a websearch currently to see if this is true). The sub, it seems, gives you access to the metadata that they curate.
The thing with jellyfin, its designed to be a media server. Media meaning mainly video, with audio as more of an addon. So relying on that to just serve audio may not be that good.
Navidrome seems to be the free solution you are looking for. However, it is more work on your end to set up.
As for plex/plexamp, I have had no issues casting 24/96 to my receiver via chromecast or line-in/headphone jack from laptop.
I would guess that your onkyo natively accepts 24/96 & 16/44 when it is accessed via its own app. It has all the hardware to do so, but only accessable via onkyo remote3. hmmm.
Ok. You have till nov 29th to purchase plexpass for 25% off. I'm sure if you sub to the /r/plex you can get notification on the next discount which I think will be around christmas. Install plex, and get the free trial. See if it works. If it does everything you want it to do. Bang, get the lifetime pass. If not. Cancel the sub and we work on a different solution. I still feel that Roon (barring price) is the best solution. I will cavate one thing about roon. I am not a roon user. Once I move, and build a new NAS+ server computer. I might use roon to do my local music streaming and use plexamp for mobile. I don't know. It will depend a bit on the listening habits of my SO. If my SO loves the sonically similar mixes a lot, I might forgo getting roon. I can justify roon's upfront cost for like 10+ years of service.
I'm continuing to get the same result. I followed the install on linux as layed out at https://www.navidrome.org/docs/installation/linux/ . When I created the service file the only thing I changed were the User and Group fields. After all that I'm still not getting anything in the logs.
There's no "organized" roadmap, just this small list: https://www.navidrome.org/docs/overview/#road-map
There's no particular order in that list, as I work on features when I have time and come up with a clean way to implement them.
That one hour was from https://www.navidrome.org/docs/usage/configuration-options/ , which has that as an example, which I think most people including me have copied.
I had suspected that real-time monitoring would not work on network drives, but I did not have Linux had that kind of bug (it seems like a bug to me). Then it makes sense not to use that API on Linux.
> Navidrome route and use the Subsonic API but add your own routes for other actions
Does Navidrome have an API? I have seen this page ( https://www.navidrome.org/docs/developers/subsonic-api/ ) and other pages on that site, but it does not seem to mention anything about its own API. For example, what other features does Navidrome API support? Can I upload files using Navidrome API?
Environment variables might be easier if you're going the docker route, but IIRC you just have to create the .toml file manually (from a terminal or text editor) in the main navidrome directory and set your config options there.
There's also some great documentation on the website: https://www.navidrome.org/docs/usage/configuration-options/
Basically these are the big features and their order of precedence (from https://www.navidrome.org/docs/overview/#road-map):
I can't commit to any date, I work on this on my spare time. But contributions are more than welcome.
You can run the Docker Linux images in your Windows 10 machine, as long as you can install Docker Desktop in it.
Installation on Windows 10 servers is also available, though the instructions are a bit technical: https://www.navidrome.org/docs/installation/windows/
From our GSoC page:
> Navidrome started in February 2016 as a modern and lightweight alternative to Subsonic: written in Go/React, implementing the subsonic API and thus compatible with all the subsonic clients in the world, licensed under GPL3, … Being relatively young, it does come/use modern development practices like continuous integration, a comprehensive testsuite, a relatively clean codebase, automatic dependency upgrades, automatic linting/CI/static analysis/… on each pull-request, comprehensive documentation … It recently gained popularity due to the decay of Subsonic/Airsonic, and currently has more than 4M downloads of its docker image, and had its binaries downloaded more than 12k times.
Thanks for using Navidrome!
There's no support for uploading or otherwise manage your library with Navidrome. It is basically a read-only access to your music files. See this related FAQ: https://www.navidrome.org/docs/faq/#how-can-i-edit-my-music-metadata-id3-tags-how-can-i-renamemove-my-files
For music streamer I've been using airsonic and I'm quite happy with it.
Development on airsonic seems to have halted though so I've been looking at navidrome which also seems nice: https://www.navidrome.org/ Not as mature as *sonic but pretty good for a normal web streamer
You might also be interested in this fork of airsonic: https://github.com/airsonic-advanced/airsonic-advanced
If you are new to Docker, I'd suggest also looking into the official docker-compose
app. It simplifies managing services with Docker.
Also take a look at https://www.navidrome.org/docs/installation/docker/ for more infor on how to run Navidrome with Docker and docker-compose
Thanks for giving Navidrome a try!
1) Navidrome is 100% tag-based, so if relies on the "Album Artist" or the "Compilation" tags to group compilation albums.... If you can find the offending album, let me know and I can help you figuring this out.
2) Currently Navidrome can read embedded album art and files in the album folder (cover.jpg and the like). You can change the order it searches the album art with the CoverArtPriority
config option. I plan to enable some kind of external lookup in the future, probably Last.FM or Spotify, but it is not a priority ATM. What I use for this is beets
with the coverart
plugin, it retrieves art from various sources and can embed or save the art as cover.jpg
Yes, there are even people using Raspberry Pi 1 as a server. But you'll need to use a server that is light on resource usage. ex: Navidrome ;)
Re: spotty connection, most good Subsonic mobile clients (that can be used with Navidrome) allows offline mode
I'd suggest going self-hosted, there is a lot of options for all tastes: https://github.com/awesome-selfhosted/awesome-selfhosted#audio-streaming
I personally put all my music in my hosted server and I'm using my own music server, www.navidrome.org, and access it through web and mobile apps (compatible with DSub)
Hey, thanks for trying Navidrome!
By default embedded images are used as album artwork, and in this case Navidrome gets the embedded image from one of the tracks and use it for the whole album.
This behaviour is controlled by a configuration option, CoverArtPriority
, the default is embedded, cover.*, folder.*, front.*
. If you don't want to use embedded artwork, you can set it to cover.*, folder.*, front.*, embedded
or whatever fits best your library. You can also remove embedded
from the options entirely, to ignore any embedded artwork.
Just keep in mind that when you change this option, you'll need to rescan your library, see here for details. If you have any issues with it, let me know.
Regarding the second question, this can happen with compilations. All tracks need to have the same comp
tag set to true
, or else the album will be broken into separated albums. Another reason could be that Navidrome uses Album Artists to group albums, if files from the same album has different Album Artists, this could also cause the album to be split.
Let me know if you have any other questions. Cheers
Can I suggest my own server, Navidrome? It is open source (GPL3), has a web UI and it is compatible with all Subsonic clients out there, including iOS play:Sub and AVSub
If you want to try it and have any issues, just let me know in /r/navidrome (or Discord or GitHub issues) and I'll be glad to help you.
Just set the Port
config option to the number you want. It can be set as:
- An environment variable: ND_PORT=999
- An argument: navidrome --port 999
- In the navidrome.toml
config file.
For more information, check https://www.navidrome.org/docs/usage/configuration-options
Just keep in mind that to be able to bind to ports bellow 1024, Navidrome needs to run as root
, which is not a great idea....
Let's check out also navidrome, it's lighter than airsonic.
I'm using it on my nas (public ip with dynamic dns) as a Spotify FOSS alternative, works flawlessly.
I use ultrasonic too and it works perfectly.
As /u/FunDeckHermit said, you need to set the BaseURL
config option (in your case it should have the value /navidrome
).
You can set it as an environment var, pass it as a parameter in the systemd unit, or in a config file. See the config docs for more details
I had bad luck with the way subsonic is implemented in Funkwhale, issues with tracks showing out of order when accessed through the API.
That, coupled with the odd authentication key deal for Subsonic clients, the painful upgrade cycle and odd file storage made me switch.
Current using Navidrome for pure simplicity.
>session timeout- i'm not using docker at the moment,its running directly on ubuntu server-i'll update to the latest version and see if it fixes the timeout
You can set the session timeout in 3 different ways:
1) The env var ND_SESSIONTIMEOUT can be used without docker, it is just an env var:
$ ND_SESSIONTIMEOUT=24h navidrome
2) Pass it as a command line option:
$ navidrome --SessionTimeout=24h
3) Create a config file and add this (and other options) to it. See the docs for details
​
>shuffle- i selected an artist,they had 4 albums,i selected shuffle anticipating it would shuffle through all the songs across all albums-that was an assumption and now i've played around some more i see thats not the case-only one album at a time can be selected unless i create a playlist.is that correct? if so would that be a possible feature in future versions?
I'll soon add a context menu to artist, that will allow you to play/shuffle all songs from them. Currently the options you have to do this are:
- Add all albums to the play queue, using "Add To Queue" or "Play Later" on each album. When you have all albums added, switch the player mode to "Shuffle"
- You can also create a playlist as you described, then just shuffle the playlist.
Let me know if you have more questions
May I recommend my project, Navidrome? It is compatible with Subsonic/Airsonic clients, very fast and lightweight, runs on cheap hardware, uses very little resources and has transcoding on-the-fly. It also sports a modern WebUI, albeit it is not feature complete (not yet! I'm actively working on it). Based on your description, I think the only missing feature is Playlist management, which I'm currently working on
As for large libraries, my personal library is +500GB, with +39K songs, mostly FLAC/MP3, and a few AAC. There's one user with 4TB/152k songs!
Navidrome largely ignores the folder structure, and read all information from tags (including album art)
Even then, I'd recommend you to clean up your directory structure, makes managing large libraries easier. If you trust your tags, you could use `beets` to rename all your files based on the tags. I use it personally, never tried to bulk rename, but I'm pretty sure you can do it with `beets`.
Navidrome is easy to try, there are self-contained, ready-to-use binaries and Docker images for all major platforms.
Let me know if you want to try it out and have any questions. I'd be glad to help you out.
Do you mean in the application or in the documentation?
In the documentation it's here: https://www.navidrome.org/docs/developers/translations/
If you are having trouble setting environment variables in Windows (not sure how to do this, I'm a Mac user :) ), you can set any config option as a parameter of navidrome
. Like this:
navidrome -musicfolder="C:\My Music"
To make it easier to start Navidrome, you could create a shortcut, and then edit the shortcut's command to include the options as above.
You can do this for any Navidrome options, just remove the prefix ND_
. Examples:
ND_MUSICFOLDER => -musicfolder
ND_BASEPATH => -basepath
ND_LOGLEVEL => -loglevel
Let me know if you have any other questions.