Problems with folder locations and permissions

Hi there!

New user to Umbrel and definitely a beginner Linux user. I’m running it on a raspberry pi + an ssd using an internal adapter.

So far so good with the OS, but I’m having major issues when it comes to folder locations.

Firstly, I had to force permissions through the Umbrel console so I could upload anything on the Filebrowser app (so I could watch movies using Jellyfin), otherwise it wouldn’t let me.

But now, I’m trying to use other apps like Calibre-web and I don’t understand how I’m supposed to upload anything to the default file locations (e.g. /books), as they won’t show on Filebrowser. The apps won’t find the /downloads folder either, so I don’t see a way of uploading files.

I also tried installing a container with Portainer and was successful, but had the same exact issue with the app installed: it shows the /config folder and I can’t introduce any of my files there, so no point.

Am I not seeing something here, or is it all locked by default? In any case, how do you get to upload anything to the default folders of any app or get the apps to “see” the /downloads folder (which can be accessed on the Filebrowser)?

Thank you!

Hey @tasaurius, your post got me thinking so I tried to play around with this myself along with looking through the app-code on GitHub.

The file browser app will see all files stored in umbrel/data/storage/ directory. Jellyfin uses the umbrel/data/storage/downloads directory. This is how the file browser has access to all “storage” for the system, and I just tested this to make sure.

When you use an external disk, umbrel “migrates” the storage directory to your external drive. It sounds like something might have gone wrong here, if I speculate.

Silly thing, I know, but have you restarted the system completely? I ask because if not the environment variables for your storage locations may not have updated correctly causing this issue.

I have a few more things we could check out, but please let me know on the restart and if you have gotten anywhere since you posted!

Thank you for answering!

By “restarting” what do you mean exactly? Like a factory-setting hard reset?

If you mean a soft reset, I’ve done that and nothing changes.

Cheers.

Yes I just meant reboot, power cycle if you will.

I took a look a bit further into what you mentioned, which was that Jellyfin downloads is now visible in FileBrowser, which is to be expected, however Calibre-Web does not.

Calibre-Web does not use the app storage directory like jellyfin does. It stores all your data in it’s local directory which the FileBrowser app does not have access to.

I just tried to install Calibre-Web and I can’t get it to accept a database path, which is odd, I will have to troubleshoot some more. I was under the impression you should be able to add your books via the web interface, not manually by adding files to the books directory.

Yeah, I tried rebooting but that doesn’t do anything at all…

Jellyfin works fine but I had to give myself permissions on the console so I could use Filebrowser (otherwise I’d give me errors when uploading stuff).

About Calibre, 100%, I can’t add any files, not even a database.

Thank you for looking into that, mate!

Okay, I figured it out. I believed there had to be an intuitive way to upload books. So it turns out it’s a feature that disabled by default. The other issue, creating the database, yeah that’s apparently a known thing with running Calibre-Web in a docker container.

Here are the fixes, that I verified myself and seem to work as-is, I was able to upload and delete a PDF file successfully.

The database file issue

Set your database configuration location to /books/metadata.db.
As you can read in the GitHub issue above, it occurs when the server cannot find the metadata.db file on startup so it just needs to be set manually.

The Upload Issue

I found this reddit thread where the OP had the same issue, which appears as a feature that is disabled, after looking around some users eluded to a permissions issue when the app first starts, but again seems like docker caused from what I read in other issues, and therefor not supported by LSIO (the container provider) nor Calibre-Web as I don’t believe the officially support containers. Not sure though.

Anyway, snippet that works:

You go to Admin tab >> Edit Basic Config >> Feature Configuration >> Check the Enable Uploads button.