11 hours ago
Let me say before I begin, that I can get around in Linux, but I'm definitely not an expert.
I have a Synology DS224+ where I'm storing my media and Jellyfin config files. I've also been running Jellyfin in a container on the NAS, but it just gets too slow and I have to reboot it about once a week to restore playability. I have a Windows desktop from which I upload media files to the NAS.
I have a beat-up, mostly functional laptop (dead screen) that will hopefully be better for serving Jellyfin. I've installed Ubuntu LTS, docker (compose), and an image of Jellyfin (it is lscr.io/linuxserver/jellyfin, to match what was on the NAS, but I don't think that matters for this case).
The issue I'm stuck on is that if I start the server up, docker runs, the Jellyfin server starts automatically, and I can see it, but it thinks it's a new install. If I exec into the instance, both the /config and /data/media folders are ephemeral, not the mounted versions that they are being pointed to in the compose.yaml. If I bring the instance down, and then bring it back up, it runs great. The /config and /data/media folders both look like they should, and the web UI brings up all of the media that I would expect.
I don't even know what kind of problem this points to. Something to do with the user that it runs under automatically (root I assume) vs my user? That doesn't make sense to me, since shouldn't root be able to see everything I can? I obviously am not matching something up somewhere, but I've looked and searched everything I can think of.
Here's some of my config. Please let me know if anything else would be useful:
/etc/fstab
192.168.1.102 is the NAS. 1026 and 100 are the uid and gid already present on the folders and files on the NAS
I can always see the expected content in this mount point as a user, but Jellyfin only sees it if I restart the instance manually.
/opt/compose.yaml
Mounted directories as a user
Looking inside the instance with "docker exec -it jellyfin /bin/bash"
Note that /config is the default version and /data/media is empty
If I go to the web UI, I get the setup screen.
Restart the instance
dcdown and dcup are aliases:
alias dcup='docker compose -f /opt/compose.yaml up -d' #brings up all containers if one is not defined after dcup
alias dcdown='docker compose -f /opt/compose.yaml stop' #brings down all containers if one is not defined after dcdown
The directories within the instance now match the mounted version
I know ubuntu shows the group 100 as "users". I'm assuming the "abc" user is 1026 inside the instance.
Now going to the web UI shows my user screen with the movies, shows, music, etc. I can even successfully edit the config (adding a login message through the UI, shows up in the branding.xml file on the NAS).
If anyone has any idea what I'm not seeing here, I'd appreciate the insight.
Thanks
I have a Synology DS224+ where I'm storing my media and Jellyfin config files. I've also been running Jellyfin in a container on the NAS, but it just gets too slow and I have to reboot it about once a week to restore playability. I have a Windows desktop from which I upload media files to the NAS.
I have a beat-up, mostly functional laptop (dead screen) that will hopefully be better for serving Jellyfin. I've installed Ubuntu LTS, docker (compose), and an image of Jellyfin (it is lscr.io/linuxserver/jellyfin, to match what was on the NAS, but I don't think that matters for this case).
The issue I'm stuck on is that if I start the server up, docker runs, the Jellyfin server starts automatically, and I can see it, but it thinks it's a new install. If I exec into the instance, both the /config and /data/media folders are ephemeral, not the mounted versions that they are being pointed to in the compose.yaml. If I bring the instance down, and then bring it back up, it runs great. The /config and /data/media folders both look like they should, and the web UI brings up all of the media that I would expect.
I don't even know what kind of problem this points to. Something to do with the user that it runs under automatically (root I assume) vs my user? That doesn't make sense to me, since shouldn't root be able to see everything I can? I obviously am not matching something up somewhere, but I've looked and searched everything I can think of.
Here's some of my config. Please let me know if anything else would be useful:
/etc/fstab
192.168.1.102 is the NAS. 1026 and 100 are the uid and gid already present on the folders and files on the NAS
I can always see the expected content in this mount point as a user, but Jellyfin only sees it if I restart the instance manually.
Code:
//192.168.1.102/data /media/NAS cifs username=jellyfin,password=jellyfin,rw,uid=1026,gid=100
/opt/compose.yaml
Code:
---
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1026
- PGID=100
- UMASK=022
- TZ=America/New_York
- JELLYFIN_PublishedServerUrl=192.168.1.103
volumes:
- type: bind
source: /media/NAS/jellyfin
target: /config
- type: bind
source: /media/NAS/media
target: /data/media
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
ports:
- 7359:7359/udp # client discovery
- 8096:8096/tcp # web ui
restart: always
Mounted directories as a user
Code:
mike@services:~$ ls -l /media/NAS
total 0
drwxr-xr-x 2 1026 users 0 Feb 11 22:24 jellyfin
drwxr-xr-x 2 1026 users 0 Feb 4 2024 media
mike@services:~$ ls -l /media/NAS/jellyfin
total 32
-rwxr-xr-x 1 1026 users 263 May 19 2024 branding.xml
drwxr-xr-x 2 1026 users 0 Feb 3 23:00 cache
drwxr-xr-x 2 1026 users 0 May 19 2024 data
drwxr-xr-x 2 1026 users 0 Feb 4 2024 dlna
-rwxr-xr-x 1 1026 users 2870 Mar 5 05:14 encoding.xml
drwxr-xr-x 2 1026 users 0 Mar 5 05:13 log
-rwxr-xr-x 1 1026 users 1362 Feb 4 2024 logging.default.json
-rwxr-xr-x 1 1026 users 261 Jan 18 16:18 metadata.xml
-rwxr-xr-x 1 1026 users 3955 Mar 5 05:14 migrations.xml
-rwxr-xr-x 1 1026 users 1083 May 11 2024 network.xml
-rwxr-xr-x 1 1026 users 6852 Feb 11 22:23 system.xml
drwxr-xr-x 2 1026 users 0 Feb 5 2024 users
mike@services:~$ ls -l /media/NAS/media
total 0
drwxr-xr-x 2 1026 users 0 Mar 5 15:41 movies
drwxr-xr-x 2 1026 users 0 Oct 17 22:39 music
drwxr-xr-x 2 1026 users 0 Feb 27 17:06 tv
mike@services:~$
Looking inside the instance with "docker exec -it jellyfin /bin/bash"
Note that /config is the default version and /data/media is empty
Code:
root@55d802b86f4d:/# ls -l /config
total 22832
drwxr-xr-x 3 abc users 4096 Mar 2 21:53 cache
drwxr-xr-x 7 abc users 4096 Mar 2 19:31 data
-rw-r--r-- 1 abc users 2645 Mar 2 23:41 encoding.xml
drwxr-xr-x 2 abc users 4096 Mar 5 00:00 log
-rw-r--r-- 1 abc users 1362 Mar 2 19:31 logging.default.json
-rw-r--r-- 1 abc users 23351281 Mar 5 23:58 migrations.xml
-rw-r--r-- 1 abc users 6753 Mar 2 19:47 system.xml
root@55d802b86f4d:/# ls -l /data/media
total 0
If I go to the web UI, I get the setup screen.
Restart the instance
dcdown and dcup are aliases:
alias dcup='docker compose -f /opt/compose.yaml up -d' #brings up all containers if one is not defined after dcup
alias dcdown='docker compose -f /opt/compose.yaml stop' #brings down all containers if one is not defined after dcdown
Code:
mike@services:~$ dcdown jellyfin
[+] Stopping 1/1
✔ Container jellyfin Stopped 10.3s
mike@services:~$ dcup jellyfin
[+] Running 1/1
✔ Container jellyfin Started
The directories within the instance now match the mounted version
I know ubuntu shows the group 100 as "users". I'm assuming the "abc" user is 1026 inside the instance.
Code:
root@55d802b86f4d:/# ls -l /config
total 32
-rwxr-xr-x 1 abc users 263 May 19 2024 branding.xml
drwxr-xr-x 2 abc users 0 Feb 3 18:00 cache
drwxr-xr-x 2 abc users 0 May 19 2024 data
drwxr-xr-x 2 abc users 0 Feb 4 2024 dlna
-rwxr-xr-x 1 abc users 2870 Mar 6 00:04 encoding.xml
drwxr-xr-x 2 abc users 0 Mar 6 00:03 log
-rwxr-xr-x 1 abc users 1362 Feb 4 2024 logging.default.json
-rwxr-xr-x 1 abc users 261 Jan 18 11:18 metadata.xml
-rwxr-xr-x 1 abc users 3955 Mar 6 00:04 migrations.xml
-rwxr-xr-x 1 abc users 1083 May 11 2024 network.xml
-rwxr-xr-x 1 abc users 6852 Feb 11 17:23 system.xml
drwxr-xr-x 2 abc users 0 Feb 4 2024 users
root@55d802b86f4d:/# ls -l /data/media
total 0
drwxr-xr-x 2 abc users 0 Mar 5 10:41 movies
drwxr-xr-x 2 abc users 0 Oct 17 18:39 music
drwxr-xr-x 2 abc users 0 Feb 27 12:06 tv
Now going to the web UI shows my user screen with the movies, shows, music, etc. I can even successfully edit the config (adding a login message through the UI, shows up in the branding.xml file on the NAS).
If anyone has any idea what I'm not seeing here, I'd appreciate the insight.
Thanks