I've had a short talk with gcrk on the support chat about this, and they were interested to hear about different use cases for this and here is mine: I have a sizeable library of music sitting on my NAS and I am looking for a solution to be able to remotely access it. I have zero interest in re-uploading it piecemeal anywhere since it is already well-sorted and that is just a step that feels unnecessary. Right now I am using Jellyfin for that task, which does work pretty well, but it's a bit bloated for just music listening and I am also interested in the federation features.
You can kinda do this with in-place imports, but it IMO it is really only semi-supported at best and I am not sure any of these changes really help with the existing problems.
So here is my big problem with it right now: While the in-place import itself works generally well (it probably would be easier if you could do with an actual UI and I also don't quite understand why you even need to set a MUSIC_DIRECTORY_PATH
, but those are small hurdles), the case of actually refreshing the library is not really all that well considered
Ideally you would use a --watch task so this happens, automatically. The documentation for this is really basic though and its not quite clear how to set that up in practice. I did figure out that in my docker setup I should create an additional container to permanently run that task, but I'm already pretty familiar with docker, so I'm not sure if that would be obvious to everyone else. The bigger problem is that this only works if the filesystem in question does support being watched, which a mounted network share that I have does in fact not. So this is really not useable here at all
Oh well that is obviously no fault of funkwhale and does not work with anything else either, so I would like to have an easy way of refreshing it manually, but that just doesn't exist. Usually I would assume there to be some kind of option to trigger this from the frontend (Jellyfin and Plex both do this reasonably well IMO), but there just is not. And as far as I understand from the code there really can't be, because libraries themselves have no attributes stored on them to know if they have any in-place data in them. Personally think this is an issue that you COULD address, when you change how libraries/collections are imported in the first place, but it would need to be considered from the get-go
So its back to importing it from the CLI, which really is not a great experience (and has its own problems, but I believe these to be purely technical and not relevant to the current discussion)
I mentioned this in chat as well and I understand that a project like this cannot be every possible thing to all people and I would understand it if the focus is just on users uploading data and nothing else exists. But this feature does exist, unfortunately it is just really half-baked