![]() |
SOLVED: Setting uid & gid of my user with official docker image breaks Jellyfin - Printable Version +- Jellyfin Forum (https://forum.jellyfin.org) +-- Forum: Support (https://forum.jellyfin.org/f-support) +--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting) +--- Thread: SOLVED: Setting uid & gid of my user with official docker image breaks Jellyfin (/t-solved-setting-uid-gid-of-my-user-with-official-docker-image-breaks-jellyfin) |
Setting uid & gid of my user with official docker image breaks Jellyfin - Garret - 2024-07-10 I have been running for several years Jellyfin via a docker container from the linuxserver image on a Raspberry Pi 4. Recently I switched to an Intel N100 machine and installed NixOS. I wanted to take full advantage of the QuickSync hardware acceleration offered by the N100 platform but found out that the linuxserver image did not contain all the necessary drivers. After trying the official container image, hardware acceleration seems to work to its full potential (even though I have to dig more in all the settings...). I only have one issue: with the linuxserver container, I could set uid & gid through docker environment variables. Everything worked. I could see I could do the same with the official image by adding user: uid:gid in the docker-compose. When I do that, Jellyfin starts but it is a bit half-broken: not all preview pictures load, some settings are not saved when clicking "save" (sometimes an error message appears) and playback does not start when transcoding is needed. All the issues disappear when I comment user: uid:gid, thus the container runs as root. Before running the container, I made sure to chown all the Jellyfin folders with the uid & gid belonging to my user. My user belongs to the group wheel and users(this is the one I used as gid), but I also added it to the groups video and render. After restarting the container, the issues are still there. Do you know how could I achieve to run the Jellyfin official docker container with the uid & gid of my user? I have plenty of other containers (mostly from linuxserver) and they all run fine by setting the uid & gid of my user. RE: Setting uid & gid of my user with official docker image breaks Jellyfin - TheDreadPirate - 2024-07-10 Did you remember to add the "group_add" variable and pass in the render group ID? My docker compose for reference. Code: jellyfin-testing: I also have Jellyfin installed directly on Ubuntu and I piggy back on the UID/GID it generates for all my jellyfin test containers. But the important part is "group_add" for your problem. RE: Setting uid & gid of my user with official docker image breaks Jellyfin - Garret - 2024-07-10 I tried by still get Jellyfin working weirdly (and for example playing a video where transcoding is needed in ending soon because of an error playback). Just to be more clear, this is what I did. I stopped the container and run: Code: sudo chown -R garret:users /home/garret/docker/apps/jellyfin My user and groups (at the moment I have removed video and render but added them in the docker compose, see more below): Code: garret@server ~> groups This is the status of my /dev/dri and the gid of video and render: Code: garret@server ~> ls -l /dev/dri And this is the docker-compose: Code: version: '3' I think it is kind of a permission issues since running as root everything works fine. RE: Setting uid & gid of my user with official docker image breaks Jellyfin - TheDreadPirate - 2024-07-10 Can you share your full jellyfin log via pastebin? Also, when you migrated from the LSIO image to the official image, you started from scratch, right? The LSIO image locates key files in different paths which causes /config directories from LSIO instances to NOT be interchangable with official instances. RE: Setting uid & gid of my user with official docker image breaks Jellyfin - Garret - 2024-07-11 Yes, I had started from scratch with the official Jellyfin docker container. I think I may have found the culprit. As I thought, it was a permission issues. I had restored the uid & gid for the config folder after running the container as root but forgot to do the same for the cache folder. That is why some preview pictures could not be open and transcoding could not start. Now it seems fine. Do you know how can I be sure I am using hardware acceleration (QuickSync in my case) to its full potential? I can see that when Jellyfin is transcoding on the fly and I run "sudo intel_gpu_top" the video activity goes to almost 100%. ![]() This is how I setup the initial part of the "Playback" settings: ![]() RE: Setting uid & gid of my user with official docker image breaks Jellyfin - Efficient_Good_5784 - 2024-07-11 From your screenshot, disable VP8 decoding. The N100 CPU doesn't support it. Also, it's a low-level CPU. That level for video usage of the iGPU seems normal. RE: Setting uid & gid of my user with official docker image breaks Jellyfin - Garret - 2024-07-11 Thank you! I disabled VP8 decoding. I will share the rest of the Playback section. May I kindly ask for an optimal configuration for an N100 hardware? In particular, I have an Asrock N100DC-ITX and a Noctua fan spinning on it. I have heard that opencl/tone mapping could also need some proper configuration but I am less than zero in knowing that topic. The same for hardware encoding. Is it wise to enable H265 encoding or should I leave the default H264? Let me know it if I am going too far off topic and it is better to open a new topic instead. RE: Setting uid & gid of my user with official docker image breaks Jellyfin - TheDreadPirate - 2024-07-11 You should be able to get at least one tone mapped stream from your N100. Keep in mind that tone mapping only happens when you play HDR content on a client that doesn't support HDR (or the specific kind of HDR) and the server then converts it to SDR. Since you are using the official image all you have to do is check the VPP tone mapping and tone mapping check boxes. Nothing else is required. H265 encoding is definitely not a problem on the N100. Definitely enable encoding for that codec. |