Understanding multimedia folders in YunoHost

TL;DR

Essentially I am wondering if there are any benefits of storing my (i.e. not the ones shared between all users) pictures, movies and videos in the $MEDIA_DIRECTORY/$user/ directory instead of simply having them where Nextcloud puts them.

Intro

I am currently re-organizing my files in Nextcloud and have run into a few odd things.

The following apps are installed (plus a few more that are irrelevant) and are using the following folders:

  • Nextcloud – $MEDIA_DIRECTORY/share/* and $MEDIA_DIRECTORY/$user/*
  • Navidrome (Funkwhale 2.x in the future, perhaps) – using $MEDIA_DIRECTORY/share/Music
  • miniDLNA – $MEDIA_DIRECTORY/share/Video and $MEDIA_DIRECTORY/share/Music
  • Calibre-Web (Calibre-Web-Advanced in the future, probably) – $MEDIA_DIRECTORY/share/eBook
  • Wallabag
  • Movim (which does not work yet)

What I am confused about

Why does Navidrome not have access to $MEDIA_DIRECTORY/$user/Music too? I have to log in anyway.

I cannot seem to move (certain) shared folders in Nextcloud to somewhere in $MEDIA_DIRECTORY (which is a local mount in Nextcloud). Specifically what I am trying to do is move a photo album folder shared by another user to $MEDIA_DIRECTORY/hook/Pictures/Photo/, to have all photo albums in the same folder that can be both synced to my laptop as well as be accessed by any photo album software I may decide to install on Yunohost later.

It is quite apparent that the $MEDIA_DIRECTORY/share/ folder has quite some use in YunoHost, but I am confused as to what the $MEDIA_DIRECTORY/$user/ folders are for in practice – I have yet to find an app that makes use of it. (Please do tell which ones!)

1 Like

Well, I would say that if a single user want multiple of his apps to use his own files.

For example calibreweb can use theMEDIA_DIRECTORY/$user/ebook folder to store it’s library (that s an option during installation): we can quite easily imagine a scenario where 2 users each have their own calibreweb instance, and each one wants to sync it somewhere using next cloud without sharing it with someone else.

1 Like

I understand the theory behind it, but wonder how many apps use this in practice.

Especially mixing both the shared and user-only multimedia folders.

Well, I can talk about the calibreweb as I initialy packaged it, I don’t know about other app though.

In my view, any app that can be multi-instanciated should offer the choice between share or personnal multimedia folder during install, but I agree with you that in practice this does not seem to be the case.

1 Like

Multi-instancing makes sense in certain such cases, yes. I did not think about that (since I currently don’t have any such use case).

Does anything actually make use of both the shared and user-only folders? If we stay with Calibre-Web – there may be some books I think would be great for everyone on my family server, but some that I think would rather not want to spam others with. I suspect this would be difficult from the DB side, unless the app was originally already written with this use case in mind.

I wonder now if it’s best I ignore the $MEDIA_DIRECTORY/$user on my server until I find a use case for it – and as such remove its “mountpoint(s)” in Nextcloud in order not to mess up in-Nextcloud collaboration. The MEDIA_DIRECTORY/shareis available to all users anyway, so that should be no problem.


P.S. Thanks for packaging Calibre-Web :heart_exclamation:

Well, the sharefolder is included in each $user one, so in practice using $user sort of use both…

1 Like

That would be a really cool hack, yes. But the layout does not seem to be helpful to the use case of just using the $user one to include the share in the same app too.

Let’s stick to the Calibre-Web use case and say every user wants their own library, but also share a few books (or music, if we change that to Navidrome) with others.

  • user’s own books are in $MEDIA_DIRECTORY/$user/eBook
  • shared books are in $MEDIA_DIRECTORY/share/eBook
    • which can be accessed also through $MEDIA_DIRECTORY/$user/Share/eBook

Since Calibre-Web would look at $MEDIA_DIRECTORY/$user/eBookit would not catch the shared books, because those are in a sibling (or rather nephew) directory.

Yes, that’s because calibreweb (as per the initial calibre design) store its database in the same directory as the data file. That’s because initially it was a desktop program.

However, most media program will usually scan recursively directory and have their database stored elsewhere: in that case the yunohost design with the shared media folder as link in the user media folder would work.

So, you are saying that (most) media programs will be recursively checking the whole $MEDIA_DIRECTORY, not the individual subfolders (Music, eBook, …) within it, and simply ignore files that are of no interest to them?

Interesting. That would make a lot of sense then yes.

This is only tangentially related to the concrete question asked by @hook , but it does relate to the title of the topic, namely that of understanding Multimedia folders. One thing I found out is that these Multimedia folders are only created when you create a user from the Yunohost Webadmin, not when you create a user from inside Nextcloud. This in turn leads to an astronomical number of warnings in the NC logs (which are reported in NC administrator settings), stating that the Multimedia folder cannot be found (for those users that do not exist in the YNH database, but that exist for NC). So apparently there are some processes that run regularly that assume these folders to be there.