Jump to content

Docker mapped volumes won't work with Emby


DavidDK
Go to solution Solved by DavidDK,

Recommended Posts

So I have docker installed on my Synology NAS. Before, I was using Plex native on Synology. So I'm new to Emby and new to docker. I have an Emby container with some mapped volumes to the media folders on my NAS. Screenshot of my docker setup included. Then I made 3 libraries in Emby pointing toward those mapped volumes (screenshot also included). Unfortunately, my libraries remain empty.

So setup looks like this:

  • On my NAS I have a media folder with all my media files seperated into 3 different subfolders:
    • /volume1/media/movies
    • /volume1/media/music
    • /volume1/media/tvshows
  • I have a docker container wit these folder mapped as follows:
    • /volume1/media/movies:/mnt/movies
    • /volume1/media/music:/mnt/music
    • /volume1/media/tvshows:/mnt/tvshows

I made sure the "emby" user on my NAS has permission to the /volume1/media folder as well as the /volume1/docker/emby folder. Though in de logging created while scanning library files I found an "UnauthorizedAccessException".

 

First question is, is this about folder permissions or is there a problem with how I mapped the docker volumes? And the second of course, how to fix this.

 

2022-01-30 12:04:52.726 Info Server: http/1.1 POST http://192.168.0.5:8096/emby/Items/f137a2dd21bbc1b99aa5c0f6bf02a805/Refresh?Recursive=true&ImageRefreshMode=Default&MetadataRefreshMode=Default&ReplaceAllImages=false&ReplaceAllMetadata=false&X-Emby-Client=Emby Web&X-Emby-Device-Name=Safari&X-Emby-Device-Id=cfe411d5-eca2-43a3-a7f4-a598919e25fb&X-Emby-Client-Version=4.6.7.0. UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15
2022-01-30 12:04:52.738 Info Server: http/1.1 Response 204 to 172.17.0.1. Time: 12ms. http://192.168.0.5:8096/emby/Items/f137a2dd21bbc1b99aa5c0f6bf02a805/Refresh?Recursive=true&ImageRefreshMode=Default&MetadataRefreshMode=Default&ReplaceAllImages=false&ReplaceAllMetadata=false&X-Emby-Client=Emby Web&X-Emby-Device-Name=Safari&X-Emby-Device-Id=cfe411d5-eca2-43a3-a7f4-a598919e25fb&X-Emby-Client-Version=4.6.7.0
2022-01-30 12:04:52.798 Error App: Error validating images for /config/root/default/Movies
	*** Error Report ***
	Version: 4.6.7.0
	Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
	Operating system: Linux version 4.4.180+ (root@build13) (gcc version 7.5.0 (GCC) ) #42218 SMP Mon Oct 18 19:16:55 CST 2021
	Framework: .NET Core 3.1.21
	OS/Process: x64/x64
	Runtime: system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: /config
	Application path: /system
	System.UnauthorizedAccessException: System.UnauthorizedAccessException: Access to the path '/mnt/movies' is denied.
	 ---> System.IO.IOException: Permission denied
	   --- End of inner exception stack trace ---
	   at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
	   at System.IO.Enumeration.FileSystemEnumerator`1.Init()
	   at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
	   at System.IO.Enumeration.FileSystemEnumerableFactory.FileInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
	   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFiles(String path, String[] extensions, Boolean enableCaseSensitiveExtensions, Boolean recursive)
	   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.ToArray()
	   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
	   at System.Linq.OrderedEnumerable`1.ToList()
	   at MediaBrowser.LocalMetadata.Images.LocalImageProvider.GetImages(BaseItem item, LibraryOptions libraryOptions, IEnumerable`1 paths, Boolean arePathsInMediaFolders, IDirectoryService directoryService)
	   at MediaBrowser.LocalMetadata.Images.CollectionFolderLocalImageProvider.GetImages(BaseItem item, LibraryOptions libraryOptions, IDirectoryService directoryService)
	   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.ToList()
	   at MediaBrowser.Providers.Manager.ItemImageProvider.ValidateImages(BaseItem item, LibraryOptions libraryOptions, IEnumerable`1 providers, IDirectoryService directoryService)
	   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, LibraryOptions libraryOptions, CancellationToken cancellationToken)
	Source: System.IO.FileSystem
	TargetSite: IntPtr CreateDirectoryHandle(System.String, Boolean)
	InnerException: System.IO.IOException: Permission denied
	Source: 
	TargetSite: 
	
2022-01-30 12:04:52.803 Error BaseItem: Error refreshing owned items for /mnt/movies
	*** Error Report ***
	Version: 4.6.7.0
	Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
	Operating system: Linux version 4.4.180+ (root@build13) (gcc version 7.5.0 (GCC) ) #42218 SMP Mon Oct 18 19:16:55 CST 2021
	Framework: .NET Core 3.1.21
	OS/Process: x64/x64
	Runtime: system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: /config
	Application path: /system
	System.UnauthorizedAccessException: System.UnauthorizedAccessException: Access to the path '/mnt/movies' is denied.
	 ---> System.IO.IOException: Permission denied
	   --- End of inner exception stack trace ---
	   at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
	   at System.IO.Enumeration.FileSystemEnumerator`1.Init()
	   at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
	   at System.IO.Enumeration.FileSystemEnumerableFactory.FileSystemInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
	   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileSystemEntries(String path, Boolean recursive)
	   at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntries(String path)
	   at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
	Source: System.IO.FileSystem
	TargetSite: IntPtr CreateDirectoryHandle(System.String, Boolean)
	InnerException: System.IO.IOException: Permission denied
	Source: 
	TargetSite: 
	
2022-01-30 12:04:52.803 Error App: Error validating images for /mnt/movies
	*** Error Report ***
	Version: 4.6.7.0
	Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
	Operating system: Linux version 4.4.180+ (root@build13) (gcc version 7.5.0 (GCC) ) #42218 SMP Mon Oct 18 19:16:55 CST 2021
	Framework: .NET Core 3.1.21
	OS/Process: x64/x64
	Runtime: system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: /config
	Application path: /system
	System.UnauthorizedAccessException: System.UnauthorizedAccessException: Access to the path '/mnt/movies' is denied.
	 ---> System.IO.IOException: Permission denied
	   --- End of inner exception stack trace ---
	   at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
	   at System.IO.Enumeration.FileSystemEnumerator`1.Init()
	   at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
	   at System.IO.Enumeration.FileSystemEnumerableFactory.FileSystemInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
	   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileSystemEntries(String path, Boolean recursive)
	   at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntries(String path)
	   at MediaBrowser.LocalMetadata.Images.LocalImageProvider.GetFiles(BaseItem item, LibraryOptions libraryOptions, Boolean includeDirectories, IDirectoryService directoryService)
	   at MediaBrowser.LocalMetadata.Images.LocalImageProvider.GetImages(BaseItem item, LibraryOptions libraryOptions, IDirectoryService directoryService)
	   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.ToList()
	   at MediaBrowser.Providers.Manager.ItemImageProvider.ValidateImages(BaseItem item, LibraryOptions libraryOptions, IEnumerable`1 providers, IDirectoryService directoryService)
	   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, LibraryOptions libraryOptions, CancellationToken cancellationToken)
	Source: System.IO.FileSystem
	TargetSite: IntPtr CreateDirectoryHandle(System.String, Boolean)
	InnerException: System.IO.IOException: Permission denied
	Source: 
	TargetSite: 
	
2022-01-30 12:04:58.891 Info Server: http/1.1 GET http://192.168.0.5:8096/emby/System/Logs/embyserver.txt. UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15

 

Docker_Volumes_Setup.png

Emby_Libraries.png

Link to comment
Share on other sites

Hi, for Synology there's no need to use docker for Emby as it makes the configuration and permissions much harder.  I'd suggest downloading the current release right from out web site and installing it via package center.  Then set read/write permissions for the system internal emby user on any shares that Emby will access.

That should be all that's needed installing normally.

Link to comment
Share on other sites

Hi, to answer the original question, it looks like emby server is being denied access to read the contents of the folders. Please let us know if this helps. Thanks.

Link to comment
Share on other sites

  • Solution

This topic can be closed.

I made it work by giving the docker container full administrator rights on my NAS. That wasn't exactly the solution I was looking for though, so I decided to use the native Emby app for Synology instead of using Docker. Everything went fast 'n smooth after that. :) 

Thanks for the advise!

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...