Issue with user-config volumes and Jellyfin

Hello everyone, I am tagging this post as App issue but I am not sure it's due to Tipi or the apps. I have created a custom user-config for Jellyfin, which I just installed tonight, so that the /media/data would point to a folder on my host system : /mnt/hetzner. This is done as this :
services:
jellyfin:
volumes:
- /mnt/hetzner:/media/data
services:
jellyfin:
volumes:
- /mnt/hetzner:/media/data
I am doing the same already with Immich for a long time with this :
services:
immich:
volumes:
- /mnt/hetzner/Photos/Immich:/usr/src/app/upload
services:
immich:
volumes:
- /mnt/hetzner/Photos/Immich:/usr/src/app/upload
But unfortunately, I am not able to browse any content to add from the library menu in Jellyfin. I had the same issue with Emby. The browser is empty. Now, I did connect to the container : docker exec -it f452b3ff4492 /bin/bash And did a ls on /media/data and I can see the content of my /mnt/hetzner folder :
root@hetzner-arm:~/runtipi# docker exec -it f452b3ff4492 /bin/bash
root@f452b3ff4492:/# cd /media/data/
root@f452b3ff4492:/media/data# ls -la
total 17
drwxrwx--- 8 root root 360 Sep 2 16:24 .
drwxrwx--- 5 root root 0 Aug 16 18:01 Documents
-rw-rw---- 1 root root 4096 Jun 26 17:00 ._.DS_Store
-rw-rw---- 1 root root 10244 Nov 21 18:49 .DS_Store
-rw-rw---- 1 root root 41 Jun 26 17:10 .hsh_history
drwx------ 2 root root 0 Aug 18 21:12 lost+found
drwxrwx--- 4 root root 0 Aug 12 06:33 Michel
drwxrwx--- 8 root root 0 Sep 5 20:14 Music
drwxrwx--- 6 root root 272 Aug 9 22:56 Photos
drwxrwx--- 6 root root 312 Sep 2 16:32 Videos
root@f452b3ff4492:/media/data#
root@hetzner-arm:~/runtipi# docker exec -it f452b3ff4492 /bin/bash
root@f452b3ff4492:/# cd /media/data/
root@f452b3ff4492:/media/data# ls -la
total 17
drwxrwx--- 8 root root 360 Sep 2 16:24 .
drwxrwx--- 5 root root 0 Aug 16 18:01 Documents
-rw-rw---- 1 root root 4096 Jun 26 17:00 ._.DS_Store
-rw-rw---- 1 root root 10244 Nov 21 18:49 .DS_Store
-rw-rw---- 1 root root 41 Jun 26 17:10 .hsh_history
drwx------ 2 root root 0 Aug 18 21:12 lost+found
drwxrwx--- 4 root root 0 Aug 12 06:33 Michel
drwxrwx--- 8 root root 0 Sep 5 20:14 Music
drwxrwx--- 6 root root 272 Aug 9 22:56 Photos
drwxrwx--- 6 root root 312 Sep 2 16:32 Videos
root@f452b3ff4492:/media/data#
So I'm suspecting something is wrong maybe with the app. I don't see any error in runtipi error log. I'm using as host a debian 12 ARM. The container log doesn't display anything beside app is launched : jellyfin | [20:29:42] [INF] [1] Main: Startup complete 0:00:10.0301836 Here is the debug log attached. Thanks !
9 Replies
Nicolas
Nicolas2mo ago
Weird, if you can see it from the container it means the mounting went fine with the user-config Maybe try with a different name than /media/data Eg /hetzner?
frankynov
frankynovOP2mo ago
Yep, I tried as well, I can see the main folder /hetzner but can't list the content. I can see it in the docker shell. Weird. Let me restart the whole server
No description
frankynov
frankynovOP2mo ago
Note : the host /mnt/hetzner is mounted via a webdav2fs in the fstab. Maybe a limitation there
Nicolas
Nicolas2mo ago
Okay then it’s probably a permission issue on your mounted folder It’s often the case that these apps run as a non-root user inside (eg: 1000:1000) and your mount could be refusing read access
frankynov
frankynovOP2mo ago
That's a bit what I thought too. What is weird is that for Immich it works flawlessly. And the file permissions (host level) are the same.
root@hetzner-arm:/mnt/hetzner/Photos/Immich# ls -la
total 2
drwxrwx--- 8 root root 264 Nov 7 09:58 .
drwxrwx--- 6 root root 272 Aug 9 22:56 ..
drwxrwx--- 2 root root 0 Nov 21 21:24 backups
drwxrwx--- 3 root root 0 Nov 21 21:24 encoded-video
drwxrwx--- 2 root root 0 Nov 21 21:24 library
drwxrwx--- 3 root root 0 Nov 21 21:24 profile
drwxrwx--- 2 root root 64 Aug 9 22:57 thumbs
drwxrwx--- 3 root root 0 Nov 21 21:24 upload
root@hetzner-arm:/mnt/hetzner/Photos/Immich# ls -la /mnt/hetzner/Videos/
total 15
drwxrwx--- 6 root root 0 Sep 2 16:32 .
drwxrwx--- 8 root root 360 Sep 2 16:24 ..
drwxrwx--- 4 root root 0 Sep 5 11:47 Divers
drwxrwx--- 6 root root 0 Nov 17 23:26 Films
drwxrwx--- 16 root root 0 Oct 28 19:24 Series
root@hetzner-arm:/mnt/hetzner/Photos/Immich# ls -la
total 2
drwxrwx--- 8 root root 264 Nov 7 09:58 .
drwxrwx--- 6 root root 272 Aug 9 22:56 ..
drwxrwx--- 2 root root 0 Nov 21 21:24 backups
drwxrwx--- 3 root root 0 Nov 21 21:24 encoded-video
drwxrwx--- 2 root root 0 Nov 21 21:24 library
drwxrwx--- 3 root root 0 Nov 21 21:24 profile
drwxrwx--- 2 root root 64 Aug 9 22:57 thumbs
drwxrwx--- 3 root root 0 Nov 21 21:24 upload
root@hetzner-arm:/mnt/hetzner/Photos/Immich# ls -la /mnt/hetzner/Videos/
total 15
drwxrwx--- 6 root root 0 Sep 2 16:32 .
drwxrwx--- 8 root root 360 Sep 2 16:24 ..
drwxrwx--- 4 root root 0 Sep 5 11:47 Divers
drwxrwx--- 6 root root 0 Nov 17 23:26 Films
drwxrwx--- 16 root root 0 Oct 28 19:24 Series
But, Jellyfin has a user set in the docker compose : Default docker_compose :
version: "3.7"
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:10.10.3
container_name: jellyfin
volumes:
- ${APP_DATA_DIR}/data/config:/config
- ${ROOT_FOLDER_HOST}/media/data:/media/data
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- JELLYFIN_PublishedServerUrl=${APP_PROTOCOL:-http}://${APP_DOMAIN}/
restart: "unless-stopped"
version: "3.7"
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:10.10.3
container_name: jellyfin
volumes:
- ${APP_DATA_DIR}/data/config:/config
- ${ROOT_FOLDER_HOST}/media/data:/media/data
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- JELLYFIN_PublishedServerUrl=${APP_PROTOCOL:-http}://${APP_DOMAIN}/
restart: "unless-stopped"
PUID & PGID are set to 1000. I don't really know what it means
Nicolas
Nicolas2mo ago
You can try with 0 and 0 As PUID / PGID
frankynov
frankynovOP2mo ago
It's working !! 🙂
No description
frankynov
frankynovOP2mo ago
Merci beaucoup ! I will have to dig a bit still about these permissions. If I understand correctly, it means that it runs as root ? I can't find any reference of PUID or PGID on the Immich compose file so now I don't understand why it's working there since the beginning 🤪
Nicolas
Nicolas2mo ago
Maybe because immich runs as 0:0 by default 0:0 means root inside the container yes!
Want results from more Discord servers?
Add your server