docbill 0 Posted June 6, 2016 Posted June 6, 2016 I am using the following script to start emby: [briemers@media1 Videos]$ cat ~/emby.sh#!/bin/bashexec /usr/bin/docker run -d -P --restart=always --net=host --name emby \ -v /mnt/share/spool/emby/docbill:/config \ -v /mnt/share:/media \ dperson/emby Overall it works quite well. However, one thing I don't like it it does not run as the correct user. Ideally I want it to run as the same user who owns the media folder, so the files created by emby have the correct ownership. So I'll probably do my own custom image, but overall the image is working quite well and this is little more than an annoyance. BTW. For those who want to compare emby with plex: [briemers@media1 Videos]$ more ~/plex.sh#!/bin/bashexec /usr/bin/docker run -d -P --restart=always --net=host --name plex \ -v "/mnt/share/spool/plex/docbillnet/:/config/:z" \ -v "/mnt/share:/mnt/share:z" \ docbill/fedora-plex I do not recommend running both at the same time. As plex will use a significant amount of CPU generating thumbnails which will interfere with emby streaming movies. However, you can easily switch back and forth with the pause and unpause command: $ docker pause plex $ docker unpause emby ... $ docker pause emby $ docker unpause plex ... Note: It looks like the emby docker container downloads a new instance of the server each time it runs. My plex container relies on me clicking the "build" button on the docker-hub when I see an update notice so there is a newer version to pull. I'm not sure I really like either solution. Since emby is open source, it would make sense for the docker container to build from the open source rather than relying on already built binaries... But I'm not sure if it is possible to build a .net program like this directly in a docker container.
hurricanehrndz 149 Posted June 8, 2016 Posted June 8, 2016 I just discovered that the last update was a while ago and the new features are looking promising. Any intend in upgrading hurricane? Not pushing, just asking. Thanks for all your work It should be updated. The latest builds were executed a couple of hours ago. The only one that has not been built recently is the stable version. Is there a newer stable release? https://github.com/MediaBrowser/Emby/releases https://hub.docker.com/r/emby/embyserver/tags/
fantaxp7 191 Posted June 14, 2016 Posted June 14, 2016 Hello, After updating today I ran into an error and emby won't start. Debug info from gdb: ================================================================= Got a SIGABRT while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Aborted Info, Main, Emby Command line: /usr/lib/emby-server/bin/MediaBrowser.Server.Mono.exe -programdata /config -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartpath /usr/lib/emby-server/restart.sh Operating system: Unix 4.1.18.0 Processor count: 8 64-Bit OS: True 64-Bit Process: True Program data path: /config Mono: 4.2.2 (Stable 4.2.2.30/996df3c Tue Apr 26 12:45:48 UTC 2016) Application Path: /usr/lib/emby-server/bin/MediaBrowser.Server.Mono.exe appHost.Init Info, App, Application version: 3.1.18.0 Info, App, Application configuration: {"EnableUPnP":true,"PublicPort":8096,"PublicHttpsPort":8920,"HttpServerPortNumber":8096,"HttpsPortNumber":8920,"EnableHttps":false,"EnableInternetProviders":true,"IsPortAuthorized":true,"EnableCaseSensitiveItemIds":false,"MetadataPath":"","SeasonZeroDisplayName":"Specials","SaveLocalMeta":true,"PreferredMetadataLanguage":"en","MetadataCountryCode":"US","SortReplaceCharacters":[".","+","%"],"SortRemoveCharacters":[",","&","-","{","}","'"],"SortRemoveWords":["the","a","an"],"MinResumePct":5,"MaxResumePct":90,"MinResumeDurationSeconds":300,"LibraryMonitorDelay":60,"EnableDashboardResponseCaching":true,"EnableDashboardResourceMinification":true,"DashboardSourcePath":"","ImageSavingConvention":"Compatible","MetadataOptions":[{"ItemType":"Book","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"Movie","ImageOptions":[{"Type":"Primary","Limit":1,"MinWidth":0},{"Type":"Art","Limit":1,"MinWidth":0},{"Type":"Banner","Limit":1,"MinWidth":0},{"Type":"Disc","Limit":1,"MinWidth":0},{"Type":"Logo","Limit":1,"MinWidth":0},{"Type";:"Thumb","Limit":1,"MinWidth":0},{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Screenshot","Limit":1,"MinWidth":0}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":["Nfo","Emby Xml"],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":["The Open Movie Database","TheMovieDb"],"DisabledImageFetchers":[],"ImageFetcherOrder":["TheMovieDb","FanArt","The Open Movie Database","Screen Grabber"]},{"ItemType":"MusicVideo","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Art","Limit":0,"MinWidth":0},{"Type":"Disc","Limit":0,"MinWidth":0},{"Type":"Primary","Limit":1,"MinWidth":0},{"Type":"Banner","Limit":0,"MinWidth":0},{"Type":"Thumb","Limit":1,"MinWidth":0},{"Type":"Logo","Limit":1,"MinWidth":0}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"Series","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Art","Limit":0,"MinWidth":0},{"Type":"Primary","Limit":1,"MinWidth":0},{"Type":"Banner","Limit":1,"MinWidth":0},{"Type":"Thumb","Limit":1,"MinWidth":0},{"Type":"Logo","Limit":1,"MinWidth":0}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"MusicAlbum","ImageOptions":[{"Type":"Backdrop","Limit":0,"MinWidth":1280},{"Type":"Disc","Limit":0,"MinWidth":0}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"MusicArtist","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Banner","Limit":0,"MinWidth":0},{"T Info, App, Loading AutoBoxSets, Version=1.1.0.1, Culture=neutral, PublicKeyToken=null Info, App, Loading CoverArt, Version=4.0.12.0, Culture=neutral, PublicKeyToken=null Info, App, Loading Emby.Kodi.SyncQueue, Version=1.0.5966.21505, Culture=neutral, PublicKeyToken=null Info, App, Loading GameBrowser, Version=3.0.5882.25260, Culture=neutral, PublicKeyToken=null Info, App, Loading MBBackup, Version=1.0.0.13, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Plugins.RottenTomatoes, Version=3.0.5978.120, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Plugins.Trailers, Version=1.0.5946.24707, Culture=neutral, PublicKeyToken=null Info, App, Loading MiOSEmbyZWaveControllerCS, Version=1.0.5929.22820, Culture=neutral, PublicKeyToken=null Info, App, Loading MovieThemeSongs, Version=1.1.2.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MovieThemeVideos, Version=1.1.2.1, Culture=neutral, PublicKeyToken=null Info, App, Loading ThemeSongs, Version=1.1.1.82, Culture=neutral, PublicKeyToken=null Info, App, Loading ThemeVideos, Version=1.1.2.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Api, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.WebDashboard, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Model, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Common, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Controller, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Providers, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Common.Implementations, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Server.Implementations, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.MediaEncoding, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Dlna, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.LocalMetadata, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.XbmcMetadata, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.IsoMounting.Linux, Version=1.0.5131.24779, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Server.Mono, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Server.Startup.Common, Version=3.1.18.0, Culture=neutral, PublicKeyToken=null Info, ImageMagick, ImageMagick version: ImageMagick 6.9.2-8 Q8 x86_64 2016-05-05 http://www.imagemagick.org Info, ImageProcessor, ImageProcessor started with 8 max concurrent image processes Info, App, FFMpeg: /bin/ffmpeg Info, App, FFProbe: /bin/ffprobe System.Data.SQLite.SQLiteConnectionPool.PoolQueue doesn't implement interface System.Collections.IEnumerator Stacktrace: at <unknown> <0xffffffff> at System.Data.SQLite.SQLiteBase.GetLastError (System.Data.SQLite.SQLiteConnectionHandle,intptr) <0x00098> at System.Data.SQLite.SQLite3.GetLastError (string) <0x0004b> at System.Data.SQLite.SQLite3.GetLastError () <0x00015> at System.Data.SQLite.SQLite3.SetTimeout (int) <0x000d3> at System.Data.SQLite.SQLite3.Open (string,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteOpenFlagsEnum,int,bool) <0x00587> at System.Data.SQLite.SQLiteConnection.Open () <0x0116e> at System.Data.Common.DbConnection.OpenAsync (System.Threading.CancellationToken) <0x00096> at System.Data.Common.DbConnection.OpenAsync () <0x0002d> at (wrapper remoting-invoke-with-check) System.Data.Common.DbConnection.OpenAsync () <0xffffffff> at MediaBrowser.Server.Implementations.Persistence.SqliteExtensions/<ConnectToDb>c__async0.MoveNext () <0x00327> at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<MediaBrowser.Server.Implementations.Persistence.SqliteExtensions/<ConnectToDb>c__async0> (MediaBrowser.Server.Implementations.Persistence.SqliteExtensions/<ConnectToDb>c__async0&) <0x000db> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Data.IDbConnection>.Start<MediaBrowser.Server.Implementations.Persistence.SqliteExtensions/<ConnectToDb>c__async0> (MediaBrowser.Server.Implementations.Persistence.SqliteExtensions/<ConnectToDb>c__async0&) <0x00019> at MediaBrowser.Server.Implementations.Persistence.SqliteExtensions.ConnectToDb (string,bool,bool,System.Nullable`1<int>,MediaBrowser.Model.Logging.ILogger) <0x00189> at MediaBrowser.Server.Mono.Native.DbConnector.Connect (string,bool,bool,System.Nullable`1<int>) <0x0003b> at MediaBrowser.Server.Implementations.Persistence.BaseSqliteRepository/<CreateConnection>c__async0.MoveNext () <0x00098> at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<MediaBrowser.Server.Implementations.Persistence.BaseSqliteRepository/<CreateConnection>c__async0> (MediaBrowser.Server.Implementations.Persistence.BaseSqliteRepository/<CreateConnection>c__async0&) <0x000e3> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Data.IDbConnection>.Start<MediaBrowser.Server.Implementations.Persistence.BaseSqliteRepository/<CreateConnection>c__async0> (MediaBrowser.Server.Implementations.Persistence.BaseSqliteRepository/<CreateConnection>c__async0&) <0x00019> at MediaBrowser.Server.Implementations.Persistence.BaseSqliteRepository.CreateConnection (bool) <0x00160> at MediaBrowser.Server.Implementations.Persistence.SqliteUserRepository.RetrieveAllUsers () <0x000a6> at MediaBrowser.Server.Implementations.Library.UserManager/<LoadUsers>c__async3.MoveNext () <0x0009e> at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<MediaBrowser.Server.Implementations.Library.UserManager/<LoadUsers>c__async3> (MediaBrowser.Server.Implementations.Library.UserManager/<LoadUsers>c__async3&) <0x000cb> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Collections.Generic.IEnumerable`1<MediaBrowser.Controller.Entities.User>>.Start<MediaBrowser.Server.Implementations.Library.UserManager/<LoadUsers>c__async3> (MediaBrowser.Server.Implementations.Library.UserManager/<LoadUsers>c__async3&) <0x00019> at MediaBrowser.Server.Implementations.Library.UserManager.LoadUsers () <0x00155> at MediaBrowser.Server.Implementations.Library.UserManager/<Initialize>c__async0.MoveNext () <0x000af> at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<MediaBrowser.Server.Implementations.Library.UserManager/<Initialize>c__async0> (MediaBrowser.Server.Implementations.Library.UserManager/<Initialize>c__async0&) <0x000df> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Threading.Tasks.VoidTaskResult>.Start<MediaBrowser.Server.Implementations.Library.UserManager/<Initialize>c__async0> (MediaBrowser.Server.Implementations.Library.UserManager/<Initialize>c__async0&) <0x00019> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<MediaBrowser.Server.Implementations.Library.UserManager/<Initialize>c__async0> (MediaBrowser.Server.Implementations.Library.UserManager/<Initialize>c__async0&) <0x00019> at MediaBrowser.Server.Implementations.Library.UserManager.Initialize () <0x00147> at MediaBrowser.Server.Startup.Common.ApplicationHost/<RegisterResources>c__async1.MoveNext () <0x0809f> at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<MediaBrowser.Server.Startup.Common.ApplicationHost/<RegisterResources>c__async1> (MediaBrowser.Server.Startup.Common.ApplicationHost/<RegisterResources>c__async1&) <0x000df> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Threading.Tasks.VoidTaskResult>.Start<MediaBrowser.Server.Startup.Common.ApplicationHost/<RegisterResources>c__async1> (MediaBrowser.Server.Startup.Common.ApplicationHost/<RegisterResources>c__async1&) <0x00019> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<MediaBrowser.Server.Startup.Common.ApplicationHost/<RegisterResources>c__async1> (MediaBrowser.Server.Startup.Common.ApplicationHost/<RegisterResources>c__async1&) <0x00019> at MediaBrowser.Server.Startup.Common.ApplicationHost.RegisterResources (System.IProgress`1<double>) <0x0018a> at MediaBrowser.Common.Implementations.BaseApplicationHost`1/<Init>c__async0<T_REF>.MoveNext () <0x006c4> at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<MediaBrowser.Common.Implementations.BaseApplicationHost`1/<Init>c__async0<MediaBrowser.Server.Implementations.ServerApplicationPaths>> (MediaBrowser.Common.Implementations.BaseApplicationHost`1/<Init>c__async0<MediaBrowser.Server.Implementations.ServerApplicationPaths>&) <0x000d3> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Threading.Tasks.VoidTaskResult>.Start<MediaBrowser.Common.Implementations.BaseApplicationHost`1/<Init>c__async0<MediaBrowser.Server.Implementations.ServerApplicationPaths>> (MediaBrowser.Common.Implementations.BaseApplicationHost`1/<Init>c__async0<MediaBrowser.Server.Implementations.ServerApplicationPaths>&) <0x00019> at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<MediaBrowser.Common.Implementations.BaseApplicationHost`1/<Init>c__async0<MediaBrowser.Server.Implementations.ServerApplicationPaths>> (MediaBrowser.Common.Implementations.BaseApplicationHost`1/<Init>c__async0<MediaBrowser.Server.Implementations.ServerApplicationPaths>&) <0x00019> at MediaBrowser.Common.Implementations.BaseApplicationHost`1<T_REF>.Init (System.IProgress`1<double>) <0x001c9> at MediaBrowser.Server.Startup.Common.ApplicationHost.Init (System.IProgress`1<double>) <0x0019b> at MediaBrowser.Server.Mono.MainClass.RunApplication (MediaBrowser.Server.Implementations.ServerApplicationPaths,MediaBrowser.Model.Logging.ILogManager,MediaBrowser.Server.Startup.Common.StartupOptions) <0x00353> at MediaBrowser.Server.Mono.MainClass.Main (string[]) <0x001c7> at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: /usr/bin/mono-sgen() [0x4a16a5] /lib64/libpthread.so.0(+0x10e80) [0x2b3f153a8e80] /lib64/libc.so.6(gsignal+0x38) [0x2b3f155e99e8] /lib64/libc.so.6(abort+0x13a) [0x2b3f155eae3a] /usr/bin/mono-sgen() [0x62a2b9] /usr/bin/mono-sgen() [0x62a4df] /usr/bin/mono-sgen() [0x62a582] /usr/bin/mono-sgen() [0x4a2427] /usr/bin/mono-sgen() [0x4a27fd] [0x40b4d05d] Debug info from gdb: ================================================================= Got a SIGABRT while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries
fantaxp7 191 Posted June 14, 2016 Posted June 14, 2016 So I'd been using beta, I installed the stable docker and pointed to the same directories and stable is working.
fantaxp7 191 Posted June 14, 2016 Posted June 14, 2016 Does anyone here use custom paths for Metadata and Cache? I noticed they are getting large and filling up my cache drive. Also I don't see anything for ImagesByName is that now part of Metadata?
Tdunk 2 Posted June 19, 2016 Posted June 19, 2016 Did you know that this deployment and articles does not work on armv7 architectures? Just gives the error that wrong image format was found cannot start container. I've been working all day today on building an image for that architecture today fixing one issue after another. If anyone has any articles or guides for a western digital nas id appreciate it. Its just seemed pointless to run the server on another machine when my Nvidia shield direct plays everything and you have 16tb of Network storage with a dual core arm processor and 1gb of ram doing nothing...... figure hey it can at least keep an eye on the file changes.
hurricanehrndz 149 Posted June 19, 2016 Posted June 19, 2016 (edited) Did you know that this deployment and articles does not work on armv7 architectures? Just gives the error that wrong image format was found cannot start container. I've been working all day today on building an image for that architecture today fixing one issue after another. If anyone has any articles or guides for a western digital nas id appreciate it. Its just seemed pointless to run the server on another machine when my Nvidia shield direct plays everything and you have 16tb of Network storage with a dual core arm processor and 1gb of ram doing nothing...... figure hey it can at least keep an eye on the file changes. Yes we are aware. Its a work in progress. I'm the only developer working on this, and I have many projects to work on. It is very difficult to find some free time at the moment. If you would like to help and contribute that would be appreciated Edited June 19, 2016 by hurricanehrndz
Tdunk 2 Posted June 20, 2016 Posted June 20, 2016 Yes we are aware. Its a work in progress. I'm the only developer working on this, and I have many projects to work on. It is very difficult to find some free time at the moment. If you would like to help and contribute that would be appreciated Well i'm kind of shooting in the dark here so if you could help point me in the right direction i'd really appreciate it. Here are some logs after setting up an ubuntu docker and resolving all dependency errors with emby just instantly killing itself. So any ideas would be greatly appreciated. execve("/usr/bin/emby-server", ["emby-server"], [/* 10 vars */]) = 0 brk(NULL) = 0xd0000 uname({sysname="Linux", nodename="Storage", ...}) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=60344, ...}) = 0 mmap2(NULL, 60344, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6c88000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\260\\\0\0004\0\0\0"..., 512) = 512 lseek(3, 103608, SEEK_SET) = 103608 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 lseek(3, 103256, SEEK_SET) = 103256 read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49 fstat64(3, {st_mode=S_IFREG|0644, st_size=104688, ...}) = 0 mmap2(NULL, 169920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6c58000 mprotect(0xb6c70000, 32768, PROT_NONE) = 0 mmap2(0xb6c78000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0xb6c78000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0`\t\0\0004\0\0\0"..., 512) = 512 lseek(3, 8652, SEEK_SET) = 8652 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120 lseek(3, 8328, SEEK_SET) = 8328 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=9772, ...}) = 0 mmap2(NULL, 73912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6c40000 mprotect(0xb6c48000, 32768, PROT_NONE) = 0 mmap2(0xb6c50000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xb6c50000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\331i\1\0004\0\0\0"..., 512) = 512 lseek(3, 894132, SEEK_SET) = 894132 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2960) = 2960 lseek(3, 888324, SEEK_SET) = 888324 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0755, st_size=897092, ...}) = 0 mmap2(NULL, 963968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6b50000 mprotect(0xb6c28000, 32768, PROT_NONE) = 0 mmap2(0xb6c30000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd0000) = 0xb6c30000 close(3) = 0 set_tls(0xb6cc3d50, 0xb6cc4428, 0xb6cc0050, 0xb6cc3d50, 0xb6cc0050) = 0 mprotect(0xb6c30000, 32768, PROT_READ) = 0 mprotect(0xb6c78000, 32768, PROT_READ) = 0 mprotect(0xb6cb8000, 32768, PROT_READ) = 0 munmap(0xb6c88000, 60344) = 0 open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3 close(3) = 0 brk(NULL) = 0xd0000 brk(0xd8000) = 0xd8000 brk(0xe0000) = 0xe0000 getuid32() = 0 getgid32() = 0 geteuid32() = 0 getegid32() = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 gettimeofday({1466409802, 338279}, NULL) = 0 brk(0xe8000) = 0xe8000 brk(0xf0000) = 0xf0000 sysinfo({uptime=14218, loads=[16352, 10880, 14336], totalram=1062207488, freeram=95387648, sharedram=0, bufferram=95387648, totalswap=2147385344, freeswap=2129756160, procs=226, totalhigh=261095424, freehigh=2392064, mem_unit=1}) = 0 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, 8) = 0 uname({sysname="Linux", nodename="Storage", ...}) = 0 stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 getpid() = 227 getppid() = 225 socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3 connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(3) = 0 socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3 connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(3) = 0 open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=497, ...}) = 0 brk(0xf8000) = 0xf8000 read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 497 read(3, "", 4096) = 0 close(3) = 0 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=60344, ...}) = 0 mmap2(NULL, 60344, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6c88000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0x\r\0\0004\0\0\0"..., 512) = 512 lseek(3, 21220, SEEK_SET) = 21220 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120 lseek(3, 20888, SEEK_SET) = 20888 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=22340, ...}) = 0 mmap2(NULL, 86620, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6b38000 mprotect(0xb6b40000, 32768, PROT_NONE) = 0 mmap2(0xb6b48000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xb6b48000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\30/\0\0004\0\0\0"..., 512) = 512 lseek(3, 54072, SEEK_SET) = 54072 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120 lseek(3, 53748, SEEK_SET) = 53748 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=55192, ...}) = 0 mmap2(NULL, 128764, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6b18000 mprotect(0xb6b28000, 32768, PROT_NONE) = 0 mmap2(0xb6b30000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0xb6b30000 close(3) = 0 munmap(0xb6c88000, 60344) = 0 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=60344, ...}) = 0 mmap2(NULL, 60344, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6c88000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0<\30\0\0004\0\0\0"..., 512) = 512 lseek(3, 29248, SEEK_SET) = 29248 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120 lseek(3, 28920, SEEK_SET) = 28920 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=30368, ...}) = 0 mmap2(NULL, 94816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6b00000 mprotect(0xb6b08000, 32768, PROT_NONE) = 0 mmap2(0xb6b10000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xb6b10000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0l\31\0\0004\0\0\0"..., 512) = 512 lseek(3, 29224, SEEK_SET) = 29224 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120 lseek(3, 28892, SEEK_SET) = 28892 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=30344, ...}) = 0 mmap2(NULL, 119548, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6ae0000 mprotect(0xb6ae8000, 32768, PROT_NONE) = 0 mmap2(0xb6af0000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xb6af0000 mmap2(0xb6af8000, 21244, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6af8000 close(3) = 0 munmap(0xb6c88000, 60344) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3 _llseek(3, 0, [0], SEEK_CUR) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=1314, ...}) = 0 mmap2(NULL, 1314, PROT_READ, MAP_SHARED, 3, 0) = 0xb6c90000 _llseek(3, 1314, [1314], SEEK_SET) = 0 munmap(0xb6c90000, 1314) = 0 close(3) = 0 gettimeofday({1466409802, 357177}, NULL) = 0 getpgrp() = 225 rt_sigaction(SIGCHLD, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, 8) = 0 ugetrlimit(RLIMIT_NPROC, {rlim_cur=8085, rlim_max=8085}) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/usr/bin/emby-server", O_RDONLY|O_LARGEFILE) = 3 ioctl(3, TCGETS, 0xbefaf5a4) = -1 ENOTTY (Inappropriate ioctl for device) _llseek(3, 0, [0], SEEK_CUR) = 0 read(3, "#!/bin/bash\n# vim:set ft=sh sw=2"..., 80) = 80 _llseek(3, 0, [0], SEEK_SET) = 0 ugetrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0 fcntl64(255, F_GETFD) = -1 EBADF (Bad file descriptor) dup2(3, 255) = 255 close(3) = 0 fcntl64(255, F_SETFD, FD_CLOEXEC) = 0 fcntl64(255, F_GETFL) = 0x20000 (flags O_RDONLY|O_LARGEFILE) fstat64(255, {st_mode=S_IFREG|0755, st_size=3632, ...}) = 0 _llseek(255, 0, [0], SEEK_CUR) = 0 read(255, "#!/bin/bash\n# vim:set ft=sh sw=2"..., 3632) = 3632 open("/etc/default/emby-server", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=1793, ...}) = 0 read(3, "# Defaults for emby initscript\n#"..., 1793) = 1793 close(3) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 stat64("/etc/emby-server.conf", {st_mode=S_IFREG|0644, st_size=1403, ...}) = 0 open("/etc/emby-server.conf", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=1403, ...}) = 0 read(3, "# Override defaults for emby ini"..., 1403) = 1403 close(3) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [iNT CHLD], [], 8) = 0 _llseek(255, -1932, [1700], SEEK_CUR) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6cc38f8) = 228 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, 8) = 0 close(4) = 0 read(3, "", 128) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=228, si_uid=0, si_status=1, si_utime=0, si_stime=1} --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], WNOHANG, NULL) = 228 wait4(-1, 0xbefaed94, WNOHANG, NULL) = -1 ECHILD (No child processes) sigreturn({mask=[]}) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(255, "MONO_EXEC_ENV=\"$MONO_ENV ${MAGIC"..., 3632) = 1932 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [iNT CHLD], [], 8) = 0 _llseek(255, -1720, [1912], SEEK_CUR) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6cc38f8) = 232 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, 8) = 0 close(4) = 0 read(3, "", 128) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=232, si_uid=0, si_status=1, si_utime=0, si_stime=0} --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], WNOHANG, NULL) = 232 wait4(-1, 0xbefaed94, WNOHANG, NULL) = -1 ECHILD (No child processes) sigreturn({mask=[]}) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(255, "[ -n \"$FFMPEG_BIN\" ] && FFMPEG_O"..., 3632) = 1720 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [iNT CHLD], [], 8) = 0 _llseek(255, -1617, [2015], SEEK_CUR) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6cc38f8) = 233 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, 8) = 0 close(4) = 0 read(3, "", 128) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, 8) = 0 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 233 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=233, si_uid=0, si_status=1, si_utime=0, si_stime=1} --- wait4(-1, 0xbefaebd4, WNOHANG, NULL) = -1 ECHILD (No child processes) sigreturn({mask=[]}) = 0 read(255, "[ -n \"$FFPROBE_BIN\" ] && FFPROBE"..., 3632) = 1617 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [iNT CHLD], [], 8) = 0 _llseek(255, -1353, [2279], SEEK_CUR) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6cc38f8) = 234 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, 8) = 0 close(4) = 0 read(3, "/var/run\n", 128) = 9 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=234, si_uid=0, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 234 wait4(-1, 0xbefaee4c, WNOHANG, NULL) = -1 ECHILD (No child processes) sigreturn({mask=[]}) = 9 read(3, "", 128) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(255, "\n# Exit if the mono-sgen not ins"..., 3632) = 1353 faccessat(AT_FDCWD, "/usr/bin/mono-sgen", X_OK) = 0 stat64("/var/lib/emby-server", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [iNT CHLD], [], 8) = 0 _llseek(255, -620, [3012], SEEK_CUR) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6cc38f8) = 235 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, {0x472a9, [], SA_RESTORER|SA_RESTART, 0xb6b75251}, 8) = 0 close(4) = 0 read(3, "emby\n", 128) = 5 read(3, "", 128) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=235, si_uid=0, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 235 wait4(-1, 0xbefaee4c, WNOHANG, NULL) = -1 ECHILD (No child processes) sigreturn({mask=[]}) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0xb6b75251}, {0x44e9d, [], SA_RESTORER, 0xb6b75251}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(255, "\nif [ \"$DATA_CURRENT_USER\" != \"$"..., 3632) = 620 fcntl64(1, F_GETFD) = 0 fcntl64(1, F_DUPFD, 10) = 10 fcntl64(1, F_GETFD) = 0 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 dup2(2, 1) = 1 fcntl64(2, F_GETFD) = 0 write(1, "Usage: /usr/bin/emby-server {sta"..., 42Usage: /usr/bin/emby-server {start|clear} ) = 42 dup2(10, 1) = 1 fcntl64(10, F_GETFD) = 0x1 (flags FD_CLOEXEC) close(10) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 exit_group(3) = ? +++ exited with 3 +++ I have no idea honestly what any of that means. Long story short i have it set to the 14.04 trusty repo for now since the 15.10 repo is missing the arm files / dependencies. I saw another section on there with newer updated arm files but they are in the rms installer format and i have no idea yet how to install that. Here are my current codes for setting up the container. Obviously you'll have to change it as needed. However the reason i made the app user "admin" is because most NAS devices are configured with an admin folder and directory with full read and write capability. However i'm semi hoping the --privileged tag will superceed that, but who really knows. If anyone has any advice on what i might be doing wrong to at least "get" emby started i'd appreciate it. I'm used to things giving me an error of some sort. Not just saying oh your dead not running. Thanks docker run -ti -p 192.168.1.229:8096:8096/tcp -p 192.168.1.229:8920:8920/tcp -p 192.168.1.229:7359:7359/udp -p 192.168.1.229:1900:1900/udp --restart="always" --publish-all --privileged="true" --name="Emby_Server" --net=host -v /shares/Kodi/Docker/mbconf:/config -e "APP_USER=admin" -e "APP_CONFIG=/shares/Kodi/Docker/Emby" 96b68f7da39c locale-gen en_US update-locale LANG=en_US apt-mark hold initscripts udev plymouth mountall apt-get -q update apt-get install -y wget apt-get install build-essential apt-get build-dep ffmpeg apt-get -q update wget -qO - http://download.opensuse.org/repositories/home:emby/xUbuntu_14.04/Release.key | apt-key add echo 'deb http://download.opensuse.org/repositories/home:/emby/xUbuntu_14.04/ /' > /etc/apt/sources.list.d/emby.list apt-get update apt-get install binfmt-support apt-get install -y mono-runtime libmono-cil-dev mono-devel mediainfo libembymagickwand-6.q8-2 libembymagickcore-6.q8-2 apt-get update apt-get install -fy apt-get clean -y && rm -rf /var/lib/apt/lists/* /var/cache/* /var/tmp/* /tmp/mono* wget http://download.opensuse.org/repositories/home:/emby/xUbuntu_14.04/ apt-get update apt-get install -y emby-server
wangmaster 0 Posted June 29, 2016 Posted June 29, 2016 I've been struggling with getting the emby docker container working with a custom APP_UID and APP_GID and it's been failing. I finally tracked it down to the 02-user-onetime script. It's got a few calls to groupdel -f emby and groupdel -f ${APP_GID}. The -f option is illegal to groupdel and this is causing a group for my APP_GID to fail to be created properly. i created an issue on github, but thought i'd mention it here too: https://github.com/MediaBrowser/Emby.Build/issues/51
hurricanehrndz 149 Posted June 29, 2016 Posted June 29, 2016 (edited) I've been struggling with getting the emby docker container working with a custom APP_UID and APP_GID and it's been failing. I finally tracked it down to the 02-user-onetime script. It's got a few calls to groupdel -f emby and groupdel -f ${APP_GID}. The -f option is illegal to groupdel and this is causing a group for my APP_GID to fail to be created properly. i created an issue on github, but thought i'd mention it here too: https://github.com/MediaBrowser/Emby.Build/issues/51 Strange, this is the first I have seen this be an issue. Plus I use APP_UID and APP_UID all the the time. I will fix and update. Thanks for the heads up. PS It might not get done till the end of next week. Edited June 29, 2016 by hurricanehrndz
wangmaster 0 Posted June 30, 2016 Posted June 30, 2016 Strange, this is the first I have seen this be an issue. Plus I use APP_UID and APP_UID all the the time. I will fix and update. Thanks for the heads up. PS It might not get done till the end of next week. I swear I got this to work a couple of times too, so I'm not sure what was going on. But at some point I consistently couldn't get it working and ended up creating a custom docker layer and modified 02-user-onetime to remove all of the >dev/null's to troubleshoot what was going on and saw the errors on -f. I updated the script as I described on github and bingo, everything worked. Another comment on the docker systemd service (the /opt/emby/emby-service change from /usr/local/bin/emby-service is my own personal preference) The current config does this [service] Type=forking ExecStartPre=/usr/bin/docker pull emby/embyserver:latest ExecStart=/opt/emby/emby-server Restart=on-abort TimeoutSec=20 The problem with this is that you can't use systemd to stop the unit. Maybe this makes more sense: [service] ExecStartPre=/usr/bin/docker pull emby/embyserver:latest ExecStart=/opt/emby/emby-server ExecStop=/usr/bin/docker stop emby-server Restart=on-abort TimeoutSec=20 RemainAfterExit=true This allows systemd to trigger docker to start the container (via the emby-server script) and at the same time allows a 'systemctl stop emby-server' to work by stopping the container.
Buckaroo 6 Posted June 30, 2016 Posted June 30, 2016 Hello, Does anyone know if I can turn on ISO mounting for docker? if so how?
Tdunk 2 Posted June 30, 2016 Posted June 30, 2016 Unless you run the docker container with priveledged rights no. Its an environment variable you can setup when starting a container. What platform is this for?
Buckaroo 6 Posted June 30, 2016 Posted June 30, 2016 Unless you run the docker container with priveledged rights no. Its an environment variable you can setup when starting a container. What platform is this for? It's UnRAID. I don't mind running the container with privileged rights if that's what it takes.
Tdunk 2 Posted June 30, 2016 Posted June 30, 2016 What iso are you trying to mount and for what reason? The issue is that the docker container is pretty much a sandbox environment youd have to mount the iso on the host system run the docker container os with priveledged rights giving it full access to the hosts systems and then mount the iso that's mounted again in the container. You'll have to see how docker maps itself with the OS once it's built. You can always for security bind the mount with an environment variable if you've already mounted it in the host OS first as well but I've noticed sometimes there can be permissions issues so be sure to use the right switches for read access. It defaults to rw access and iso shares really don't like that.
Buckaroo 6 Posted June 30, 2016 Posted June 30, 2016 What iso are you trying to mount and for what reason? The issue is that the docker container is pretty much a sandbox environment youd have to mount the iso on the host system run the docker container os with priveledged rights giving it full access to the hosts systems and then mount the iso that's mounted again in the container. You'll have to see how docker maps itself with the OS once it's built. You can always for security bind the mount with an environment variable if you've already mounted it in the host OS first as well but I've noticed sometimes there can be permissions issues so be sure to use the right switches for read access. It defaults to rw access and iso shares really don't like that. I still have several hundred blu-ray & DVD ISOs. working on converting them, but and this is a multi-month process (wanting to grab all the extras too) I want to be able to play them in the mean time. Not an expert on the ins and outs of Docker as a run time environment - I was hoping there was a reasonably simple answer like the SUDO option in Linux.
Tdunk 2 Posted June 30, 2016 Posted June 30, 2016 Are they in a folder on the host system ? Like media/movies?
Buckaroo 6 Posted June 30, 2016 Posted June 30, 2016 Are they in a folder on the host system ? Like media/movies? Yes. I have two movie folders to keep things clean. mnt/user/Film Files (MKV and the like), and mnt/user/Film Discs (all ISOs). I often watch on KODI, which uses path substitution to grab the ISO directly over the local network, and it can mount it or pass it on to PowerDVD with no problem. However, much of my family (and a few friends) access through the web, so for them they just get no joy when trying to play any of the files.
Tdunk 2 Posted June 30, 2016 Posted June 30, 2016 I'm not sure how the unRaid os handles shares but if it is setup like that all you should have to do is setup the bind variable for docker during the run command (when the container is built) now the key here will be to see how your host actually maps your drives which I've found can be confusing. Traditionally youd think it would be /shares/media/movies but it usually isn't. For example my western digital nas has it mapped on its host os as /mnt/HD/HD_a2/shares/media/movies. So here's the annoying part from your ssh console you'll need to find how your partitions are mounted according to your host OS so you can use the docker bind mount switches correctly. Haha but in order to even do that you need to know what shell it's using like mine uses busybox which is shitty. I'm working on rebuilding a custom kernel. What you'll want to probably do from the ssh console is type --help that should list the available commands to you. From there you can find one that will list the mounted partitions. I think the one that worked for me was blkid as ls wasn't recognized. Once you see the listed mounted partitions you can then pair that with the docker run command your building. Which will end up being quite long. Once you name it put the right port forwarding variables on it and the right mount points on it but once that's all done your in the clear. All you have to do is tell Emby to look at that folder. I'm pretty sure it has iso support. Then sit back let it build your library and there you go. There might even be a container that has a dockerfile already made for your OS with all the right mappings done but I've found that to be few and far in between but if you find one that's close enough keep in mind the variables you set at run will override what's in the dockerfile. If you need additional help let me know. If you send me specific information I can probably just build the command for you. Sadly the process doesn't work for me on the arm architecture and Emby. My core linux kernel is missing dependencies and installing them into docker doesn't help not to mention we don't have a complete list of all the Emby requirements for service startup on the arm architecture. If we did I could actually build the devs here a custom build kernel for the WD nas devices with the missing dependencies and package Emby right into the OS. Then have a bin file for activation but without proper documentation I cannot. 1
Tdunk 2 Posted June 30, 2016 Posted June 30, 2016 Sorry that is all thrown together I'm typing this from my phone. I can throw together proper documentation for this if the Emby community would like.
Tdunk 2 Posted June 30, 2016 Posted June 30, 2016 Oh and I almost forgot the other reason it isn't compatible with the western digital nas systems and soon others is because it uses a 64kb block system with 32kb block emulation on the arm architecture. Meaning older apps are no longer compatible without rebuilt binaries using the new toolchains. The older systems used 4kb. According to all the development I've read the issue is that If the binaries weren't build using the new block system they will simply self terminate and will do so in docker as well because docker can only emulate what the host system can. Which is what I was seeing when trying to install Emby. So if any of the devs are willing to assist me on bringing the app to more platforms I have the sdks and toolchains for western digital and synology nas systems and their toolchains. They both now use the new 64kb block system. The reason plex works is because they now use pure java scripting based on pre-installed binaries already on the systems. I backtracked how plex does it's installation. Since it runs off of the java binaries that have already been ported to the new block system it doesn't have any issues however java is not optimized to run on arm very well especially on Marvell boards. So they had to disable transcoding. I feel Emby may be able to fill this void since it calculates what the system resources are and it's transcoding power is. However that's not going to work from a docker container since its a sandbox environment and unless the container runs in priveledged mode with direct access to the host /proc /sys and a few other folders it will not be able to read the proper system variables.
Buckaroo 6 Posted July 1, 2016 Posted July 1, 2016 Sorry that is all thrown together I'm typing this from my phone. I can throw together proper documentation for this if the Emby community would like. I for one would love it!
Tdunk 2 Posted July 1, 2016 Posted July 1, 2016 I'll see what I can do to compile all the docker information for all the platforms and translate it into Lehman terms for the general user. I'll try and work with hurricane as well if I can to try and automate Emby docker installation and setup using the dockerfile platform so general users can get it running and access the web portal for setup after that for any remaining settings. It's just difficult because there's so many host systems changing their dependencies and docker is limited somewhat by this. 1
hurricanehrndz 149 Posted July 4, 2016 Posted July 4, 2016 I'll see what I can do to compile all the docker information for all the platforms and translate it into Lehman terms for the general user. I'll try and work with hurricane as well if I can to try and automate Emby docker installation and setup using the dockerfile platform so general users can get it running and access the web portal for setup after that for any remaining settings. It's just difficult because there's so many host systems changing their dependencies and docker is limited somewhat by this. @@Tdunk, It would be amazing if you can it to the wiki, that is where most of the information is kept. I will try and get an official image for arm on docker going soon, but I'm super busy with work. More contributors and more help is always welcomed though. 1
BobbyDing 56 Posted July 15, 2016 Posted July 15, 2016 Hi folks, I've read through this thread and I'm not finding an answer to a question (or just not understanding what I'm reading). I'm running stable versions of the docker and also plugin versions (not at the same time) on my unraid server. I've been able to update the plugin to 3.0.5986, but the docker version only says 3.0.5973. Running the docker updates yields no newer versions. Does the docker version require a different method of updating? Thanks so much! Bobby
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now