![]() |
Jellyfin only sees my files if I restart it manually - 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: Jellyfin only sees my files if I restart it manually (/t-jellyfin-only-sees-my-files-if-i-restart-it-manually) |
Jellyfin only sees my files if I restart it manually - haigha - 2025-03-06 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. Code: //192.168.1.102/data /media/NAS cifs username=jellyfin,password=jellyfin,rw,uid=1026,gid=100 /opt/compose.yaml Code: --- Mounted directories as a user Code: mike@services:~$ ls -l /media/NAS 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 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 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 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 RE: Jellyfin only sees my files if I restart it manually - TheDreadPirate - 2025-03-06 When using network storage, each device is completely unaware of each others users, except the credentials used to authenticate (username/password). The UID and GID fields are used for controlling which users on the local system are allowed to access the share. If UID 1026 and GID 100 don't correspond to an actual user on the client device (your laptop), then Jellyfin will only have read permissions. Backing up a bit, DO NOT put /config on a network share. That is a recipe for a very bad time. SQLite, Jellyfin's DB provider, does not tolerate latency well. Even the miniscule latency on a LAN connection. /config MUST be on a local disk. You should also provide a path for /cache. It isn't strictly necessary, but having static (and local) storage for /cache will help with consistency when you upgrade the container (which will wipe any ephemeral storage). And going back to the network storage issue. You can either provide an actual user that exists on the laptop in the fstab parameters, and run Jellyfin as that user, or you can remove the UID and GID files and add "noperm" to the options. This will configure the mount to allow all users on the laptop to have read/write access to the mounted CIFS share. Assuming the "username" provided has sufficient access on the server. |