New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple Music Folders #192
Comments
Thanks for trying Navidrome! Right now it only supports one music folder. Once multiple folders are implemented, access restrictions will be supported. |
Came here to add this feature request, and found this one. This is the one feature preventing me from moving from Airsonic to Navidrome. |
would it be possible to have this functionality implemented similarly as subsonic/airsonic does? |
Yep, this is how it will work, and you are going to have different permissions and other settings for each music folder. |
Just found this as airsonic seems dead, but I already like this way more. Would love to see this feature added. Thanks for the awesome program. |
Hi, thats the feature i am missing the most. @deluan THX for Navidrome! |
Hi, this feature will be really nice to have. |
I'd also be willing to support a bounty. Alternatively, I'd be willing to help out with the implementation as well. I'm not at all familiar with the codebase and what it would entail, but maybe if one of the maintainers could point me in the right direction I'd be happy to take a look. |
It's not a super trivial thing. I think, from the top of my head, there's at least the following steps (please correct me if I'm wrong): Create new database table Write the server code to pick up the (comma separated?) list of base folders from the configfile and populate this table New database table Create a Write the web UI code to allow admins to populate this table (ie, assign base folders to users, enter the fancy name), but DO NOT ALLOW THE API TO CREATE A NEW BASE FOLDER - SECURITY RISK! Add to the
Change the scanner so it populates these fields correctly, and ideally "intelligent" enough that when the base folder changes but the relative path stays the same (ie, a user moves his whole music folder to a new location), ND doesn't create new records for each song but just updates the Change all the relevant SQL queries to filter for only the base folders that the user has access to (that's relatively trivial for songs, but you also want to filter out all artists and albums (and genres) that the user has no access to. Probably: add |
I saw that gonic recently resolved a similar issue, which may offer some hints as to the design. |
Thanks for the link. The internal structure of Gonic is very different from Navidrome, so the changes do not apply to ND. I already started working on this, but put it on hold to focus on Smart Playlists, a more important feature (at least for me personally 😉 ) |
@deluan if enabling the multiple musicfolder path option is difficult or takes time to work it at the moment. is it possible to an argument or some function to provide different paths to different user profile? so that the different folders can be linked to different user profile to make this a closer to solve in a different way. |
I also have a doubt that will either of these lines work? Example: [These will be set in the navidrome.toml file] MusicFolder = 'E:\Music1' && 'F:\Music2' [OR] MusicFolder = 'E:\Music1' let me know if it is possible to run these arguments or something like that. |
Sorry, but I don't think it is worth to spend effort doing something like this. You can already segregate your library like this by using two instances of Navidrome, something that some users are already doing.
This is not possible, and that's the whole point of this GH issue. But if you use Linux, you can create a symlink from one folder to another. I'm not sure if Windows supports symlinks. |
I didn't know about this, can you direct me to the location where I read and make use of this?
okay, actually I thought this might work and I don't know how this issue #192 is planned to be approached. And I use Windows 10, tried with WSL which leads me to some problems, but I am using nssm now for Navidrome to run. I think Symlinks is available in Windows, I just created a symlink and it's working well with Navidrome. Thank you. |
This is exactly what I did today! Two instances and a 3rd instance that is the "combined" version. I just added 2 volumes to the yaml file into /music/me and /music/hers. No symlinking needed.
To be precise, my docker config for these looks like this. All of my wife's music that she wants to be accessible on the combined instance goes into her "safe" folder. No more needing to skip adult music when kids are in the car:
|
@bachig26, just have 2 entirely separate instance of ND running. Copy the database from the data folder from one instance over to the other one if you want to have the same users across both instances. Track me down on the Discord server if you want to chat about it more. |
While waiting for this feature, my solution was to split my music folder into two folders. One that I'm happy for navidrome to index, and one that stores everything else. That's where I put new music that hasn't been tagged or had artwork added, or random audio that I want to store but not browse in navidrome. If this feature gets implemented, it'll be nice to be able to choose the library in the UI. Eg if I want to search/browse/shuffle just my bootlegs folder/library, or my videogame or chiptune music libraries. Right now it's all lumped together. |
A workaround for this would be that an album or song could be assigned to different users, allowing multiple selection. So admin can mark what users see what songs. If this was implemented, then multiple folders would be not needed. |
the best solution |
I like the idea and it would also be useful for me to separate some types of albums into categories or libraries. I also personaly don't care if Artists are also separated or not. In order not to disturb existing libraries, this tag should of course be optional, i.e. files where this is not set all go into the main library as they are currently. |
3 years and still nothing? |
@p6002 chill, if you would like it sooner consider contributing. |
one possible workaround is a symlink tree: Make a folder with symlinks to all the music sources you'd like |
I read the original reason for the ticket differently: user1:
user2:
I don't see how symlink'ing would help here - or you have to elaborate. |
Sorry, i subscribed to this thread long ago, then got pinged just now. That response was based on me misremembering the topic. |
Gave it a go. The changes are rough around the edges but seems to be "working" within a short local test that I did. I can make further progress when feedback is provided. Edit: |
@ps-gill That doesn't look so bad. 👍 Not sure it solves the original problem of dealing with audiobooks and music though. |
@ps-gill If I were to want to try this out on a test server, in your opinion is there anything stopping me from just building your fork? |
Nothing really. The fork just allows one to specify multiple music folders e.g. In addition to specifying multiple folders, community seems to be looking for isolating music folders by users. I was planning to work towards that but haven't had a chance to take a stab at it. |
I have a slightly different use case. I'd like to keep audiobooks & podcasts in separate folder. I know I could probably solve this with tagging but it would not improve browsing experience I think. |
any news here? Would be great to see this feature very soon |
Is it possible to have navidrome manage separate folders on a user level? So for example, user A has access to all music files in folderA, user B has access to all music in folderB and user C has access to folderA and folderB? I am asking because I want to separate music from audiobooks and don't want to have all mixed up in the same view.
The text was updated successfully, but these errors were encountered: