I'm losing the fight for permissions for Jellyfin

Hi there.

I am trying to set up TrueNAS with the following setup:

  • A Pool for apps, on an SSD, called split
  • A Pool for data, with a Dataset called media
  • The media dataset will be shared with SMB
  • Jellyfin installed as an app, using the default Apps user permissions
  • A local SMB user used for accessing SMB shares, called samba

I have encountered two problems:

  1. When I upload files with samba, Jellyfin can’t see them. Jellyfin can only see the directories created by the user
  2. Jellyfin seems to have trouble accessing it’s own app paths, showing messages like this in the log:
    • [2024-11-05 00:46:13.548 -08:00] [WRN] [34] MediaBrowser.Controller.Entities.BaseItem: Library folder "/config/data/playlists" is inaccessible or empty, skipping
    • Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: The WebRootPath was not found: "/wwwroot". Static files may be unavailable.

The guides that I have found have told me that this should work with the default setup for both the user and the app, if I make sure that I set the permissions to be the SMB type. I have tried that, and I have tried creating a new group called “home” and assigned it to both samba and apps, but neither have worked.

Forgot to write that all of this is on a fresh install of TrueNAS 24.10

Apparently, a solution is to select the Preset ACL NFS4_OPEN

2024-11-05 15_38_31-TrueNAS - 192.168.13.1 — Mozilla Firefox

So the permissions for the dataset looks like:

Then files are uploaded by the user they get the permission:

3000:root

and when created through the app:

568:root

And they can both change and read the files.