Jellifin doesn't see NAS folders - franknap - 2025-03-22
Hi all,
I'm using a Docker Jellyfin server instance installed on a Raspberry Pi 4 Bookworm lite 64bit.
The media are on a Synology NAS.
I had mounted a network path and everything was working fine, I noticed after a reboot of the RPi4 node that the Jellyfin server no longer sees the network folders.
I also tried deleting the Media library and remapping it, but I don't see the network directories. Any ideas on this?
RE: Jellifin doesn't see NAS folders - TheDreadPirate - 2025-03-22
How did you mount your network share in Debian? And with what options?
RE: Jellifin doesn't see NAS folders - franknap - 2025-03-22
i found some information at
https://michael-casey.com/2022/01/09/mount-synology-nas-to-raspberry-pi-using-nfs/
i used this command
Code: sudo mount -t nfs -o proto=tcp,port=2049 "IP ADDRESS":/volume1/video /media
RE: Jellifin doesn't see NAS folders - TheDreadPirate - 2025-03-22
How is your docker container configured? Can you share your docker compose?
RE: Jellifin doesn't see NAS folders - franknap - 2025-03-22
had used Jellifin's official commands
Code: docker pull jellyfin/jellyfin:latest
mkdir -p /srv/jellyfin/{config,cache}
docker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media --net=host jellyfin/jellyfin:latest
The container's detail are:
Code: [
{
"Id": "e575d622680fdab9ea038c70813c744e67f6907c703a1a62ac78f05ac322b8c4",
"Created": "2025-03-22T08:45:54.137694595Z",
"Path": "/jellyfin/jellyfin",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 1078,
"ExitCode": 0,
"Error": "",
"StartedAt": "2025-03-22T10:21:32.289705952Z",
"FinishedAt": "2025-03-22T10:21:13.209052567Z",
"Health": {
"Status": "healthy",
"FailingStreak": 0,
"Log": [
{
"Start": "2025-03-22T20:45:31.857528847+01:00",
"End": "2025-03-22T20:45:31.993682921+01:00",
"ExitCode": 0,
"Output": "Healthy"
},
{
"Start": "2025-03-22T20:46:01.996586585+01:00",
"End": "2025-03-22T20:46:02.122275833+01:00",
"ExitCode": 0,
"Output": "Healthy"
},
{
"Start": "2025-03-22T20:46:32.123599112+01:00",
"End": "2025-03-22T20:46:32.249707862+01:00",
"ExitCode": 0,
"Output": "Healthy"
},
{
"Start": "2025-03-22T20:47:02.251460919+01:00",
"End": "2025-03-22T20:47:02.376325249+01:00",
"ExitCode": 0,
"Output": "Healthy"
},
{
"Start": "2025-03-22T20:47:32.377596981+01:00",
"End": "2025-03-22T20:47:32.503574078+01:00",
"ExitCode": 0,
"Output": "Healthy"
}
]
}
},
"Image": "sha256:56e06d5e87efbdd2f63a9c057fe03e7a501baa96d0a87a1d955c96e5ad3941ce",
"ResolvConfPath": "/var/lib/docker/containers/e575d622680fdab9ea038c70813c744e67f6907c703a1a62ac78f05ac322b8c4/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/e575d622680fdab9ea038c70813c744e67f6907c703a1a62ac78f05ac322b8c4/hostname",
"HostsPath": "/var/lib/docker/containers/e575d622680fdab9ea038c70813c744e67f6907c703a1a62ac78f05ac322b8c4/hosts",
"LogPath": "",
"Name": "/affectionate_lewin",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": [
"/srv/jellyfin/config:/config",
"/srv/jellyfin/cache:/cache",
"/media:/media"
],
"ContainerIDFile": "",
"LogConfig": {
"Type": "journald",
"Config": {
"tag": "{{.Name}}"
}
},
"NetworkMode": "host",
"PortBindings": {},
"RestartPolicy": {
"Name": "unless-stopped",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"ConsoleSize": [
24,
80
],
"CapAdd": null,
"CapDrop": null,
"CgroupnsMode": "host",
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": [],
"BlkioDeviceWriteBps": [],
"BlkioDeviceReadIOps": [],
"BlkioDeviceWriteIOps": [],
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": null,
"PidsLimit": null,
"Ulimits": [],
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/interrupts",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware",
"/sys/devices/virtual/powercap"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"ID": "e575d622680fdab9ea038c70813c744e67f6907c703a1a62ac78f05ac322b8c4",
"LowerDir": "/var/lib/docker/overlay2/ff4f5ff2b5befcb1f02c909526d6792c629c18352f3c9d08eab6d7abc9903866-init/diff:/var/lib/docker/overlay2/a021978145a4aa0f961a28cbdd65f3a074bd8c14a86f7d39505dcbd96cfc1741/diff:/var/lib/docker/overlay2/e91f9a5bd43c80aa36f020375f14019b4bb6843794973eb65937119d4b50a65e/diff:/var/lib/docker/overlay2/7cfb4e36a52f227b5285099c4c1a1246fe0951a2f3d5597309a2d76b3155d421/diff:/var/lib/docker/overlay2/2eb1906518b9fd792439434e0bafecd363e9588ce32b8bb3eec57fccdfb00517/diff:/var/lib/docker/overlay2/ec05e4967d11698736bd018ee30a8073266ddda1b3252e706a0be263aab45ff8/diff:/var/lib/docker/overlay2/8fabfd417df29ff1a0a37a725b5e7c4aa88436b6777faf36a45b919de54d8c7c/diff:/var/lib/docker/overlay2/3547f134ee4187eb3a44c367887ee372c7d9c8fc3a6aa6d61eda4f9644f29254/diff:/var/lib/docker/overlay2/562e92ae683c9132965abea5f03cbab99fe67237a90ca41b8d347c2624330927/diff",
"MergedDir": "/var/lib/docker/overlay2/ff4f5ff2b5befcb1f02c909526d6792c629c18352f3c9d08eab6d7abc9903866/merged",
"UpperDir": "/var/lib/docker/overlay2/ff4f5ff2b5befcb1f02c909526d6792c629c18352f3c9d08eab6d7abc9903866/diff",
"WorkDir": "/var/lib/docker/overlay2/ff4f5ff2b5befcb1f02c909526d6792c629c18352f3c9d08eab6d7abc9903866/work"
},
"Name": "overlay2"
},
"Mounts": [
{
"Type": "bind",
"Source": "/srv/jellyfin/cache",
"Destination": "/cache",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
},
{
"Type": "bind",
"Source": "/srv/jellyfin/config",
"Destination": "/config",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
},
{
"Type": "bind",
"Source": "/media",
"Destination": "/media",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
"Config": {
"Hostname": "raspberrypi",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8096/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HEALTHCHECK_URL=http://localhost:8096/health",
"DEBIAN_FRONTEND=noninteractive",
"LC_ALL=en_US.UTF-8",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US:en",
"JELLYFIN_DATA_DIR=/config",
"JELLYFIN_CACHE_DIR=/cache",
"JELLYFIN_CONFIG_DIR=/config/config",
"JELLYFIN_LOG_DIR=/config/log",
"JELLYFIN_WEB_DIR=/jellyfin/jellyfin-web",
"JELLYFIN_FFMPEG=/usr/lib/jellyfin-ffmpeg/ffmpeg",
"XDG_CACHE_HOME=/cache",
"MALLOC_TRIM_THRESHOLD_=131072",
"NVIDIA_VISIBLE_DEVICES=all",
"NVIDIA_DRIVER_CAPABILITIES=compute,video,utility"
],
"Cmd": null,
"Healthcheck": {
"Test": [
"CMD-SHELL",
"curl --noproxy 'localhost' -Lk -fsS \"${HEALTHCHECK_URL}\" || exit 1"
],
"Interval": 30000000000,
"Timeout": 30000000000,
"StartPeriod": 10000000000,
"Retries": 3
},
"Image": "jellyfin/jellyfin:latest",
"Volumes": {
"/cache": {},
"/config": {}
},
"WorkingDir": "",
"Entrypoint": [
"/jellyfin/jellyfin"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.description": "The Free Software Media System",
"org.opencontainers.image.documentation": "https://jellyfin.org/docs/",
"org.opencontainers.image.source": "https://github.com/jellyfin/jellyfin-packaging",
"org.opencontainers.image.title": "Jellyfin",
"org.opencontainers.image.url": "https://jellyfin.org",
"org.opencontainers.image.version": "10.10.6"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "8caea49eb7712ea980bc74fd9af1a03da29444eb0f591578a735876ea1c05994",
"SandboxKey": "/var/run/docker/netns/default",
"Ports": {},
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"host": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "",
"DriverOpts": null,
"GwPriority": 0,
"NetworkID": "3a7b35f5292ba7058468b91dd828ca03ed68b6b9ace0362bcaa4ba79fe2458ec",
"EndpointID": "6edddb20de49c99b2db6c6d9550c9e3a94c1f9938130bfb87a430572f8a8d201",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": null
}
}
}
}
]
RE: Jellifin doesn't see NAS folders - TheDreadPirate - 2025-03-23
Check the box "consenti agli utenti di accedere alle sottocartelle montate"
For the english speakers, "Allow user to access mounted subfolders".
RE: Jellifin doesn't see NAS folders - franknap - 2025-04-22
After some repeated tests I have solved the problem, I try to summarize the solution here in case it is useful to some other user.
I map the folder pointing to the path 'media'
Code: sudo mount -t nfs -o proto=tcp,port=2049 IP_ADDR_NAS:/volume1/video /srv/jellyfin/media
sudo systemctl daemon-reload
To make the mount permanent I do this:
Code: sudo nano /etc/fstab
and then I add the line:
Code: IP_ADDR_NAS:/volume1/video /srv/jellyfin/media nfs defaults 0 0
In case of start/restart of the Jellyfin before that the NAS still being available on the network, however, it is necessary, the folder mounting will not happen automatically and will not work. In this case, you must re-mount the network folder, and then restart the container (for me, restarting the jellyfin server was not enough).
|