Jump to content

Docker


Luke

Recommended Posts

Mdaloha77

So far your docker repo runs emby stable, no hang yet after 24hours of run and indexing 15TB of datas...so Im good for now :}

If stability and continuity holds at least for few months, I will contribute with buying membership.

 

Maybe few ideas... 1. linux devs team of this project isnt strong enough to support so many linux flavors...why dont you simply support installation on linux mainly through docker? Docker support has most linux distros.

Simply create repo or package which will include installation of docker and docker emby repo. Adding systemd start and stop scripts which will call docker should be simple, all parts are already here...voala linux problem

solved.

2. support for mysql. Folks with bigger data archives can profit from this greatly as sqlite is limited.

Link to comment
Share on other sites

hurricanehrndz

Mdaloha77,

 

Thanks for the feedback. Unfortunately we can't convince all users to use docker. Trust me I have tried. In terms of the systemd scripts and stuff for docker that is exactly what I'm working on right now. Thanks again. And please continue to bring any issues to light. The dev team keeps changing but the support for the distros is there. Currently fc7 supports the rhel distributions and the packages have been better than they had ever been before. We are also try to ensure that we are standardizing the placement of all files so that it is the same across all the distros.  Arch has been pretty good as well and we have two individual who contribute to the arch platform. The only distro really needing some love is debian and ubuntu and that is because I have been so short of time lately. 

 

Actually, just to let you know how much I love docker. I recently dumped all my window installs and have switched to debian jessie and am running a very simple base install with any and all apps running in docker even this post right now is being done from a docker.

 

That's possibly another reason I'm short of time. I have been dockerizing all my x11 apps.

Edited by hurricanehrndz
Link to comment
Share on other sites

Mdaloha77

well...my point with docker was... creating an official supported installation of emby for linux(which will propably run on most linux derivates) in same sense as there is only one version for windows which will run on all supported version of windows os. If there are people enough motivated to do high quality dedicated packages for their distro of choice...let them, why not. But give the end users one stable updated! package which will run on their distro thx to docker. Its simple as that. Ordinary users will not even notice that something like docker running their favorite multimedia platform and they wouldnt care if things will run stable and updated. For christ sake, if somebody are willing to install mono into their linux os, then docker will be last thing they shouldby worried about :) . And problem solved...no more pissed of users with broken updates in their distro...mission complete.

 

As for dockerizing apps...what for? If you want security, this wont help you as much as you thing. Currently there is only one! OS which take user security seriously - details on https://www.qubes-os.org ... but its not for newbies, take some time to assimilate such a concept :)

Link to comment
Share on other sites

hurricanehrndz

well...my point with docker was... creating an official supported installation of emby for linux(which will propably run on most linux derivates) in same sense as there is only one version for windows which will run on all supported version of windows os. If there are people enough motivated to do high quality dedicated packages for their distro of choice...let them, why not. But give the end users one stable updated! package which will run on their distro thx to docker. Its simple as that. Ordinary users will not even notice that something like docker running their favorite multimedia platform and they wouldnt care if things will run stable and updated. For christ sake, if somebody are willing to install mono into their linux os, then docker will be last thing they shouldby worried about :) . And problem solved...no more pissed of users with broken updates in their distro...mission complete.

 

As for dockerizing apps...what for? If you want security, this wont help you as much as you thing. Currently there is only one! OS which take user security seriously - details on https://www.qubes-os.org ... but its not for newbies, take some time to assimilate such a concept :)

I totally agree with you trust me. Sometimes you can't teach old dogs new tricks though. 

 

In terms of why I'm dockerizing everthing on my pc is not for security, but more for the sake of keeping my system clean. I don't have to have a bunch of packages that I have no clue about.

Link to comment
Share on other sites

Bushy82

I'm having some trouble with teh auto update, basically it doesn't look like it's working.

 

Any chance i could get some advice? Perhaps where to look if it is even running. I can see an hourly cron job running, but i can't see anything that suggests the ocker container itself is 'phoning home' as it were.

 

my set up:

5613bba9c364e_dockeremby.png

 

Is there a process i should see active in the processes tab? or a line in the log?

 

Thanks

Link to comment
Share on other sites

hurricanehrndz

There is no process, there is the cron script. What system is this? You can update it via a docker exec command.

 

docker exec -i emby-server /Update.sh

 

Edited by hurricanehrndz
  • Like 1
Link to comment
Share on other sites

Bushy82

What system is this?

 

It's a Synology DS415+. Emby appears to be running just fine (the trakt plug in is having some trouble, if that suggests anything), but i haven't seen anything to indicate that the auto update has worked. As far as basic internet connectivity, thats working. From a bash prompt in the docker container gui i can ping google.com, and it resolves without problem.

 

The problem for me is i am not even sure where to start looking, which obviously makes trouble shooting difficult.

 

 

Edit: i see you edited it and included the exec command. I'll give that a whirl tonight. Cheers

Edited by Bushy82
Link to comment
Share on other sites

hurricanehrndz

The autoupdate only gets turned on if you set the appropriate environment variable. I can't remember what it is off the top of my head.

 

Sent from my D6603 using Tapatalk

Link to comment
Share on other sites

Bushy82

Okay, after a bit of finagling and reading around i have cracked the update process.

 

The bottom line is that the docker gui presented in DSM is extremely limited in what it can do. There simply isn't a way to run the docker commands that you find in documentation or as advised by @@hurricanehrndz inside the DSM interface. A bit frustrating indeed, and it would be quite nice for them to include a CLI within the gui as a short term fix.

 

That aside, here's what i had to do:

Enable ssh on the NAS.

SSH to the NAS using putty, logging in as admin/adminuserpassword

from the command prompt, all the docker commands can be run. Which is awesome, because it also gets you access to the help files which explains the syntax far better than half the online stuff out there.

 

Nutting through this challenge has given me some great new understanding. Many thanks for the pointers.

Link to comment
Share on other sites

hurricanehrndz

It's a Synology DS415+. Emby appears to be running just fine (the trakt plug in is having some trouble, if that suggests anything), but i haven't seen anything to indicate that the auto update has worked. As far as basic internet connectivity, thats working. From a bash prompt in the docker container gui i can ping google.com, and it resolves without problem.

 

The problem for me is i am not even sure where to start looking, which obviously makes trouble shooting difficult.

 

 

Edit: i see you edited it and included the exec command. I'll give that a whirl tonight. Cheers

I'm glad you were able to do a work around. It surprises me that Synology gives you no access from the web interface to the environment variables pass to each container. Passing environment variables to the container is an essential way that each docker developer sets certain variables for each user. Sounds like a feature request needs to be submitted into to Synology.

  • Like 1
Link to comment
Share on other sites

you can add the environment variables - i just have no way to verify if they are being respected. From some googling around other forums, i saw some things about DSM not implementing the full array of environment variables that are allowed, but there is no forward facing way to see this.

 

If you're happy on the CLI, then i think the DSM docker implentation is full.

 

New question: Is it the size of the emby library that determines the amount of RAM emby is holding for the docker container? My little NAS only has 2GB, and Emby idling sits on about 400-500MB of that. As my library grows, will i see it consume more RAM? RAM upgrades on the consumer grade Synology's isn't easy, but it is do-able.

Link to comment
Share on other sites

hurricanehrndz

You can set a limit on the amount of ram to the docker and see what happens, I think you will be fine. Remember ram in Linux works very differently.

 

Sent from my D6603 using Tapatalk

Link to comment
Share on other sites

reluctantflux

When I use this docker now, I'm getting a "ERR_CONNECTION_REFUSED" error when trying to access the webpage.  It started a long time ago and I reverted to non-dev, but I wanted to get back on the dev version and the issue persists.

Link to comment
Share on other sites

hurricanehrndz

Dev version is not updated yet. Its up coming, please watch for an announcement. Next week, hopefully.

Edited by hurricanehrndz
  • Like 1
Link to comment
Share on other sites

Hey guys. Im getting an error in my logs:

Error, DtoUtils, ServiceBase<TRequest>::Service Exception
        *** Error Report ***
        Version: 3.0.5724.6
        Command line: /usr/lib/emby-server/MediaBrowser.Server.Mono.exe -programdata /config -ffmpeg /usr/bin/ffmpeg -ffprobe /usr/bin/ffprobe -restartpath /Restart.sh -restartargs
        Operating system: Unix 3.19.0.30
        Processor count: 4
        64-Bit OS: True
        64-Bit Process: True
        Program data path: /config
        Mono: 4.0.3 (Stable 4.0.3.20/d6946b4 Thu Aug 13 12:46:26 UTC 2015)
        Application Path: /usr/lib/emby-server/MediaBrowser.Server.Mono.exe
        Argument cannot be null.
        Parameter name: source
        System.ArgumentNullException
          at System.Linq.Check.SourceAndSelector (System.Object source, System.Object selector) [0x00000] in <filename unknown>:0
          at System.Linq.Enumerable.Select[IMediaSourceProvider,Task`1] (IEnumerable`1 source, System.Func`2 selector) [0x00000] in <filename unknown>:0
          at MediaBrowser.Server.Implementations.Library.MediaSourceManager+<GetDynamicMediaSources>c__async1.MoveNext () [0x00000] in <filename unknown>:0
        --- End of stack trace from previous location where exception was thrown ---
          at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Collections.Generic.IEnumerable`1[MediaBrowser.Model.Dto.MediaSourceInfo]].GetResult () [0x00000] in <filename unknown>:0
          at MediaBrowser.Server.Implementations.Library.MediaSourceManager+<GetPlayackMediaSources>c__async0.MoveNext () [0x00000] in <filename unknown>:0
        --- End of stack trace from previous location where exception was thrown ---
          at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Collections.Generic.IEnumerable`1[MediaBrowser.Model.Dto.MediaSourceInfo]].GetResult () [0x00000] in <filename unknown>:0
          at MediaBrowser.Api.Playback.BaseStreamingService+<GetState>c__async3.MoveNext () [0x00000] in <filename unknown>:0
        --- End of stack trace from previous location where exception was thrown ---
          at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
          at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[MediaBrowser.Api.Playback.StreamState].GetResult () [0x00000] in <filename unknown>:0
          at MediaBrowser.Api.Playback.Hls.DynamicHlsService+<GetVariantPlaylistInternal>c__async3.MoveNext () [0x00000] in <filename unknown>:0

Error, HttpServer, Error processing request for /videos/123c9d5568362845f898552443a07b33/main.m3u8?DeviceId=4b7f9c8cddc0e1ad3704f374fda4a9799f7ce7ab&MediaSourceId=123c9d5568362845f898552443a07b33&VideoCodec=h264&AudioCodec=aac&AudioStreamIndex=1&VideoBitrate=19872000&AudioBitrate=128000&MaxAudioChannels=2&MaxHeight=1080&Level=41&ClientTime=635806150255971860&Profile=high&PlaySessionId=cabd2a1e7b194654b1a910862bafa5f2&api_key=b2684a501ef045e895eedae39e7bb2bf
        *** Error Report ***
        Version: 3.0.5724.6
        Command line: /usr/lib/emby-server/MediaBrowser.Server.Mono.exe -programdata /config -ffmpeg /usr/bin/ffmpeg -ffprobe /usr/bin/ffprobe -restartpath /Restart.sh -restartargs
        Operating system: Unix 3.19.0.30
        Processor count: 4
        64-Bit OS: True
        64-Bit Process: True
        Program data path: /config
        Mono: 4.0.3 (Stable 4.0.3.20/d6946b4 Thu Aug 13 12:46:26 UTC 2015)
        Application Path: /usr/lib/emby-server/MediaBrowser.Server.Mono.exe
        Argument cannot be null.
        Parameter name: source
        ServiceStack.HttpError
        No Stack Trace Available

This is my setup:

># docker version
Client:
 Version:      1.8.2
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   0a8c2e3
 Built:        Thu Sep 10 19:19:00 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.2
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   0a8c2e3
 Built:        Thu Sep 10 19:19:00 UTC 2015
 OS/Arch:      linux/amd64
># uname -a
Linux locahost 3.19.0-30-generic #34~14.04.1-Ubuntu SMP Fri Oct 2 22:09:39 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Tried to pull the latest image of embyserver. didnt help.

The wierd thing is that it worked for a long time. It actually just stoped streaming midway in a movie. and then didnt want to start it again. even after restarting container, stoping and removeing then start it again also didnt work.

 

Any ideas, or see what im clearly missing? :S

Link to comment
Share on other sites

Yeah.. so i just figured out the problem...

Its actually one of my disks that has "played its last tune", so to speak  :(

So please disregard my post, and sorry for posting to hastily.

Link to comment
Share on other sites

hurricanehrndz

Still in the works, I'm building a bunch of dockers right now. To speed up the testing. The problem is that any changes take a lot of manual work for the debian packages, and so the docker release gets held up and errors aren't caught. So, I'm automating the tests. And making it unified so the dev packages of ubuntu and debian are not different than the stable. The issue with the dev docker is that the deb packages are broken. Thank you for being patient. I hope to have something out by Saturday or Sunday.

Link to comment
Share on other sites

hurricanehrndz

Crap, I need to fix the debs first. Because we converted the beta ppa to actually beta instead of dev. So, I need to get the dev ppa going. Sorry, its going to have to wait a little longer.

Link to comment
Share on other sites

dcrdev

I've just deployed this into a docker container, I've set it to run under a specific user/group and I've added that user to a group which had read write permissions on my media folders. Emby doesn't seem to download any images unless I set the permissions to 777 on that folder - I'd prefer not to have to do this. Permissions are set up on my folders via ACL and when running getfacl on the media folder it shows that the group has rwx permissions. Am I missing something? Does the process that writes to the directory run as a different user?

Link to comment
Share on other sites

hurricanehrndz

User and group Id are set via passing the appropriate environment variables to the container.

 

Sent from my D6603 using Tapatalk

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...