mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-23 23:20:51 +01:00
Scanning lib folder fails on MacOS file system inside docker #6507
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#6507
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @hamada147 on GitHub (Nov 23, 2024).
This issue respects the following points:
Description of the bug
On a new installation of JellyFin on a MacOS using docker, it fails to scan a folder with the MacOS file system because it is trying to read files that start with
._and._.DS_Store.Reproduction steps
What is the current bug behavior?
When reading a folder directory on a macOS file system, it tries to read and access all files even the ones that starts with
._and._.DS_Store.What is the expected correct behavior?
When reading a folder directory on a macOS file system, it should ignore all files that start with
._and._.DS_Store.Jellyfin Server version
10.10.0+
Specify commit id
No response
Specify unstable release number
No response
Specify version number
No response
Specify the build version
10.10.3
Environment
Jellyfin logs
FFmpeg logs
Client / Browser logs
No response
Relevant screenshots or videos
No response
Additional information
No response
@gnattu commented on GitHub (Nov 23, 2024):
All Unix hidden files should be ignored per this:
06c603428b/Emby.Server.Implementations/Library/IgnorePatterns.cs (L83-L88)I don’t know why it does not work in docker because this does not happen with the native install on macOS, the fact that any hidden files is being scanned is weird.
@hamada147 commented on GitHub (Nov 23, 2024):
This is so weird, I just compiled and ran the source code from the master branch (commit SHA: 2b0f028b6f1c471db16996a36d0d6ee6f23bde57) and it does ignore all Unix hidden files. I don't know why in the docker instance it doesn't.
@gnattu commented on GitHub (Nov 24, 2024):
After some investigation I found this is tricky to fix because it will change the file system enumeration quite a bit. The dotnet internal
EnumerateFileSystemInfosrequires read access to each and every file in the specified path as theIgnoreInaccessibleproperty is not correctly handled inside the implementation:f1332ab0d8/src/libraries/System.Private.CoreLib/src/System/IO/Enumeration/FileSystemEnumerableFactory.cs (L198)We have set the
IgnoreInaccessibleproperty totruein theEnumerationOptions. However, the implementation of .NET does not attempt to catch the exception raised by theToFileSystemInfocall and simply throws even whenIgnoreInaccessibleis set totrue. It should just silently ignore the file if anUnauthorizedAccessExceptionwas thrown.@agardnerIT commented on GitHub (Feb 8, 2025):
Not sure if I'm hitting this too or something else, but attempting to create a library from an external drive while running in Docker on macOS:
myuseruid is501and group isstaffso the standardgidof20.I can create the library via UI fine. But indexing throws:
ls-al@gnattu commented on GitHub (Feb 8, 2025):
You cannot really use docker and we can do almost nothing if the dot net native method just throws.
We do provide native macOS packages, why not use that instead? You won’t have such issue by using that.
@dylan-klomparens commented on GitHub (Feb 20, 2025):
For those interested in a temporary workaround...
ONLY if you are using an external USB drive to store your media, you can disable .DS_Store and related "view preference" files (that start with ".").
In the Terminal, issue this command:
sudo defaults write com.apple.desktopservices DSDontWriteUSBStores -bool trueThen reboot your Mac.
Delete all "._" files on your media drive.
In Jellyfin, re-scan your media library. If you see any more errors, you may have missed deleting a hidden file, and the log output will reveal the file responsible.
I hope this helps anyone trying to run Jellyfin on Mac in Docker. I was able to successfully do it. Love the software, and the devs for this project rock!
@jellyfin-bot commented on GitHub (Jun 21, 2025):
This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.
If you have any questions you can use one of several ways to contact us.
@jellyfin-bot commented on GitHub (Jul 12, 2025):
This issue was closed due to inactivity.