2024-12-05, 02:45 AM
(This post was last modified: 2024-12-05, 10:36 PM by Patio6573. Edited 3 times in total.
Edit Reason: Solved
)
Setup:
Box 1: Proxmox --> Debian12 VM, no GUI --> Jellyfin 10.9.11
Box 2: Truenas Scale --> SMB share "jellyfin-library"
My notes show I used the following commands in the Debian VM to mount the network library location.
Problem:
I get NFO and artwork related errors for every movie/show/episode in my library (1000+). I didn't notice the issue until I went looking for NFO files, since the artwork is successfully saving to the /var/... folder. So I did the kind of scan that replaces all metadata and artwork, and creates NFO files, and was dumbfounded when the log file was full of these access denied errors. Then I spent the last 3 evenings searching for keywords without luck.
Jellyfin can read everything just fine. All my media shows up in the libraries as expected, new media is visible on client devices immediately after running a scan. The issue is limited to Jellyfin writing files to the SMB share.
Expectation:
Jellyfin starts writing artwork and NFO files to the SMB share.
I can run the following command from the debian command line and manually create a NFO file without issue:
...so I think my permissions are setup correctly on the TrueNAS side of things.
I also tried a temporary Jellyfin installation on Windows and it worked OK, so it's definitely specific to my Linux installation. I am 99% sure I've overlooked something basic, but I'm at a point where I need some guided help.
Box 1: Proxmox --> Debian12 VM, no GUI --> Jellyfin 10.9.11
Box 2: Truenas Scale --> SMB share "jellyfin-library"
My notes show I used the following commands in the Debian VM to mount the network library location.
Code:
#make mounting point on server
mkdir /mnt/jellyfin-library
#create fstab entry
nano /etc/fstab
//192.168.1.114/jellyfin-library /mnt/jellyfin-library cifs credentials=/root/.jellyfin-library-credentials,_netdev 0 0
Problem:
I get NFO and artwork related errors for every movie/show/episode in my library (1000+). I didn't notice the issue until I went looking for NFO files, since the artwork is successfully saving to the /var/... folder. So I did the kind of scan that replaces all metadata and artwork, and creates NFO files, and was dumbfounded when the log file was full of these access denied errors. Then I spent the last 3 evenings searching for keywords without luck.
Code:
[ERR] UnauthorizedAccessException - Access to path "/mnt/jellyfin-library/movies/some-movie (YYYY)/clearart.png" is denied. Will retry saving to "/var/lib/jellyfin/metadata/library/c6/c6f4ede0a7ffccb56743f86b575e8a60/clearart.png"
[ERR] Error in metadata saver
System.UnauthorizedAccessException: Access to the path '/mnt/jellyfin-library/movies/some-movie (YYYY)/movie.nfo' is denied.
---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
at System.IO.FileStream..ctor(String path, FileStreamOptions options)
at MediaBrowser.XbmcMetadata.Savers.BaseNfoSaver.SaveToFileAsync(Stream stream, String path)
at MediaBrowser.XbmcMetadata.Savers.BaseNfoSaver.SaveAsync(BaseItem item, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.ProviderManager.SaveMetadataAsync(BaseItem item, ItemUpdateType updateType, IEnumerable`1 savers)
Expectation:
Jellyfin starts writing artwork and NFO files to the SMB share.
I can run the following command from the debian command line and manually create a NFO file without issue:
Code:
root@debian-jellyfin:/mnt/jellyfin-library/movies/some-movie (YYYY)/movie.nfo
I also tried a temporary Jellyfin installation on Windows and it worked OK, so it's definitely specific to my Linux installation. I am 99% sure I've overlooked something basic, but I'm at a point where I need some guided help.