Jellyfin, Sonarr, Radarr and Jackett Conflict

I have been playing around with building a media server using Jellyfin along with Sonarr, Radarr and Jackett on Nixos using the native packages. I can get everything working, but I am running into an issue where Jellyfin play back will stop working. When I go play something the poster will come up but will never play. Also, when I log into the web app and am not playing anything the blue circle in the center of the page indicating processing will always be there.

I have been watching the Jellyfin error logs and will get stuff like:

[ERR] [3] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/LiveTv/Programs/Recommended".
System.UnauthorizedAccessException: Access to the path '/dev/shm/lttng-ust-wait-8-276' is denied.

Or

[ERR] [3] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/LiveTv/Programs/Recommended".
System.UnauthorizedAccessException: Access to the path '/dev/shm/mono.1607' is denied.

When I look in /dev/shm:

sudo ls -la /dev/shm/
total 12
drwxrwxrwt  2 root    root   100 Oct 23 11:30 .
drwxr-xr-x 19 root    root  3540 Oct 23 12:12 ..
-rw-rw-rw-  1 jackett media 4096 Oct 23 08:04 lttng-ust-wait-8
-rw-r-----  1 jackett media 4096 Oct 23 08:04 lttng-ust-wait-8-276
-rw-r-----  1 sonarr  media 4096 Oct 23 08:04 mono.1607   

I should point out that don’t think I have ever seen a Radarr file here, but I am lumping it in with the rest.

I think what is going on here is that Sonarr, Radarr or Jackett are creating these files first and setting the permission such that Jellyfin can’t access them. I have tested this by disabling Sonarr, Radarr or Jackett and removing the files and when I do so Jellyfin works fine.

I am not sure if this is an issue with Nixos, Jellyfin, etc. or an underlining library like mono so I am not sure where to post a bug report. I am posting here to see if someone smarter than me has any idea how to proceed. Or point out its user error, and I am just doing something wrong.

Thank you

specifically what do you mean by that?

also, please provide relevant nix configuration so we have a little context… maybe you’re doing something unexpected with users or groups and ownership

have you modified any configuration within the web applications themselves?

By native package, I mean not a container.

Here is my current config, I have been playing around with it a bit more since I last posted:

{config, pkgs, ...}:
let
    master = import
        (builtins.fetchTarball https://github.com/nixos/nixpkgs/tarball/master)
        { config = config.nixpkgs.config; };
in
{

  # media group to be used by each service
  users.groups.media = {
    gid = 1800;
    members = [
      "me"
    ];
  };

  # Sonarr
  services.sonarr = {
    enable = true;
    group = "media";
    package = master.sonarr;

  };

  # radarr
  services.radarr = {
    enable = true;
    group = "media";
    package = master.radarr;

  };

  # jackett
  services.jackett = {
    enable = true;
    group = "media";
    package = master.jackett;

  };

  # Jellyfin
  services.jellyfin = {
    enable = true;
    group = "media";
    package = master.jellyfin;

  };
}

I have changed the transcoding directory in Jellyfin to /dev/shm/ which I think is what is causing the issue. I think my next step will be to create a different tmpfs directory for just Jellyfin transcoding. Unless anyone has a better suggestion.

Thank you