[POLL] Docker Container Organisation for the unRAID community



Recommended Posts

I'm starting this thread as I believe we need to develop some form of an unRAID community Docker container tracker. Having tried out and gotten Docker working myself for the first time today I'm totally blown away with it's potential for headless apps that I run alongside unRAID, it's a real game changer and makes Linux headless VMs almost redundant for all but the most complex tasks. I've still got plenty of understanding left to bridge but it's all good practice for some rainy day when I'll need the knowledge.

 

The tech has only been in unRAID a week and already it's becoming confusing to keep track of who has released what. Also a very short and concise Docker guide needs to be posted, I'm happy to do this but tbh I don't think I know enough to write it - any volunteers? The containers repository (or unRAID Docker hub if you like) needs to happen very quickly to prevent duplication.

 

What do we think to making a separate dedicated Docker sub-forum which is locked until an admin approves you can post in it. This would house one thread per container as well as a master thread (updated by mods) with the 'known good' community container images. We can easily devise a standard post #1 format to make it easier to read for people choosing. I'll happily sort this out with LT if you guys think it's the way forward.

 

Link to comment
  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

YES.

 

My other advice...

 

People are using the wrong Linux Distros for the Docker Containers. Use something SMALL like Alpine or Tiny Core Linux as the base OS. They can do everything Ubuntu can and also have package managers. You do not need all the BLOAT of Ubuntu for simple apps we run like Sickbeard, CouchPotato, SABnzbd, etc.

Link to comment

I absolutely agree that this needs to organized in some way. The tricky part in my opinion is doing it in a way that doesn't artificially stifle development freedom but equally gives normal users the ability to know a trusted/recommended build without having to read 300 posts and/or decide of variations.

 

As an aside I have a short list of design recommendations in to Limetech for consideration. There is nothing special here its just a short list of Docker things to do and not to do as I spot them on these forums.

 

One of the things on the list is to recommend (not require) that a specific base OS is used unless a genuine reason exists to use another.

 

grumpybutfun is spot on that we are already seeing Docker base OS bloat and divergence. By last count there are 4 different OS variations having been used.

 

However saying that Debian::Jessie seems to be winning by defailt now due to the speed and quality of needos docks.

 

So to address Tiny Core Linux  directly. I think TCL is one of the most amazing things on the internet. It is insane how fast and small it is. Saying that it is not trivial for people that do know it to use as it does things its own way and I think it would be (at this point at least) a significant increase in dev complexity vs. gain over debian.

 

This leads to me my next point. I think we should use the stable/experimental model for docks. Realistically <20 docks will cover a very large percentage of the userbase requirements even with variation in app preference (e.g. transmission vs deluge vs rtorrent).

 

This means we could maintain a stable/recommended list on a protected wiki page making it very easy for users to identify what is available. The maintenance and peer review of this set would be bets done on github as it is specifically designed for the task and integrates seamlessly with the docker repo. The owner of this is up fordebate but I suspect it would be a community thing rather than Limetech.

 

The experimental docks could just use a clearly marked forum in a free for all way.

 

As time passes the main dock team could elect to move to TCL or a separate team could create a second TCL based list.

 

I think this is a scalable, reliable and audit-able options.

 

 

Link to comment

 

YES.

 

My other advice...

 

People are using the wrong Linux Distros for the Docker Containers. Use something SMALL like Alpine or Tiny Core Linux as the base OS. They can do everything Ubuntu can and also have package managers. You do not need all the BLOAT of Ubuntu for simple apps we run like Sickbeard, CouchPotato, SABnzbd, etc.

 

I know that as soon as it's safe to run beta 6a (I'm running beta 5a with zen) I will be creating a Logitech mediaserver docker. Because of that and plex I would definitely prefer a larger distribution as the base image to provide support for larger programs

 

While I agree many standard containers will just be small python scripts, those wanting to run media center containers will need something fatter

Link to comment

 

YES.

 

My other advice...

 

People are using the wrong Linux Distros for the Docker Containers. Use something SMALL like Alpine or Tiny Core Linux as the base OS. They can do everything Ubuntu can and also have package managers. You do not need all the BLOAT of Ubuntu for simple apps we run like Sickbeard, CouchPotato, SABnzbd, etc.

 

I know that as soon as it's safe to run beta 6a (I'm running beta 5a with zen) I will be creating a Logitech mediaserver docker. Because of that and plex I would definitely prefer a larger distribution as the base image to provide support for larger programs

 

While I agree many standard containers will just be small python scripts, those wanting to run media center containers will need something fatter

 

Nothing about those apps requires a"fatter" base.  At most they require a few more dependencies that can easily be added as part of the specific Docker container and not as part of the base image.  It is always easier to add then remove in this case.

Link to comment

Would we not be reinventing the wheel creating unraid specific docker apps?

 

I imagined using the most supported docker'd apps - official ones even (as released by sickbeard/transmission/plex etc), once they become available. And I would say the wiki page / forum would just be a good place to index, and recommend the best / most streamlined or suitable ones

 

Keep in mind Im a consumer, not a producer, so I dont know if there would need to be specific changes needed for unraid based docker apps

Link to comment

Would we not be reinventing the wheel creating unraid specific docker apps?

 

I imagined using the most supported docker'd apps - official ones even (as released by sickbeard/transmission/plex etc), once they become available. And I would say the wiki page / forum would just be a good place to index, and recommend the best / most streamlined or suitable ones

 

Keep in mind Im a consumer, not a producer, so I dont know if there would need to be specific changes needed for unraid based docker apps

a little. but there's no harm in making a list or documenting a set of known good with unraids implementation of docker.

 

Sent from my Nexus 5 using Tapatalk

 

 

Link to comment

Ok lets not get hyperbolic ... big brother isn't required.  But it would be nice to have a repo curated by LT/Admins.  Nothing says users can't make /use alternative dockers as well.  Like NAS said, we could have Stable / Experimental, or better yet, Stable / Experimental / Work-In-Progress.  Because I think there needs to be a place for all the back and forth of development and testing which is separate from the section holding working docks which is separate from big-S STABLE docks.

 

As for distro size ... you're probably right that the small Ubuntu 14.04 is small enough.  I just think we need to keep it that way and avoid creation of base images filled with stuff better left to the containers themselves.  As to "forcing" distros ... nothing stops the creation/use dockers based on other distros ... but for the curated "STABLE" ones, there might be a benefit to settling on a set of baseline efficient distros.

 

My concern (which I brought up in a new thread) is that we are headed for a place just like plug-ins where containers can be abandoned without a larger ecosystem to continue support.  And that means standards and practices.

 

EDIT: because I can't english good.

Link to comment

 

 

YES.

 

My other advice...

 

People are using the wrong Linux Distros for the Docker Containers. Use something SMALL like Alpine or Tiny Core Linux as the base OS. They can do everything Ubuntu can and also have package managers. You do not need all the BLOAT of Ubuntu for simple apps we run like Sickbeard, CouchPotato, SABnzbd, etc.

 

I know that as soon as it's safe to run beta 6a (I'm running beta 5a with zen) I will be creating a Logitech mediaserver docker. Because of that and plex I would definitely prefer a larger distribution as the base image to provide support for larger programs

 

While I agree many standard containers will just be small python scripts, those wanting to run media center containers will need something fatter

 

Nothing about those apps requires a"fatter" base.  At most they require a few more dependencies that can easily be added as part of the specific Docker container and not as part of the base image.  It is always easier to add then remove in this case.

 

The problem with that is the thinner base images aren't directly supported by Logitech or plex while Debian is directly supported.

 

Give me a lightweight base image with rpm / apt package management support and I will be happy but I wouldn't be happy with a lightweight image without it as we will end up with the current issues we have with Slackware.

 

The entire purpose of moving to docker is to provide a simple means of running other apps within unraid, and for many tasks we need a package manager for that.

Link to comment

I agree dockers need their own thread, probably even their own forum.  One thread can be for 'official' or 'maintained' dockers, and that can/should be mod approved, and should have a standard format, where each docker offered needs to include information like base used, specific version used, run command examples, link to Git, and probably a few others.  If all formatted the same, everyone gets the 'right' information every time.

 

There could/should be another way for people to release non-official dockers, for testing, or just for fun, that doesn't have to go thru mod approval.  Perhaps all posts are allow, and if/when the mods approve one, they move it to an 'official', or 'approved' board.

 

As for which distro, I don't really care that much, but as was pointed to in another thread, ubuntu isn't really designed for dockers, and there was the phusion base that supposedly addressed these shortcomings.  Perhaps the tiny OS's grumpy pointed out also have these things addressed, I'm not sure.  I will say that I have 4 of needo's dockers installed and those 4 images take up just over 1GB in total.  If that was .5GB or 2GB, it honestly wouldn't make any difference to me at all.  I have a 500GB cache drive, but will probably replace it with a 250GB SSD.  I may even just install a 64GB SSD just to hold dockers and my windows VM, but even 64GB would be plenty for all this, even if I installed another 10 dockers.  As long as they are based on the same base, each additional one adds very little to the space requirement, from what I understand.

 

So, I suggest that the base be chosen on factors other than size.

 

Anyway, that's my $.02

Link to comment

maybe this would be an idea....

 

dockers based on debian (ubuntu,....)

dockers based on red hat (centos, Fedora,....)

 

basically put them together according package management

 

then if you are a bit clever then you just have to adapt the first line of the dockerfile (from xxxxxx)  for your personal docker ....

 

i downloaded today all of sensei's dockers and build them with a few adjustments to my likings on my machine ....

 

i think that is the easiest way to use an existing docker but with your specific needs....

 

I also used GFJArdims crashplan docker

and hurricanes dropbox is next on the list after i complete tetum's mysql

so far i use only one ubuntu 14.04 image

root@R2D2:/mnt/cache/docker/dockerfiles/dropbox-master/docker-dropbox# docker  images

REPOSITORY          TAG                IMAGE ID            CREATED            VIRTUAL SIZE

nzbdrone            latest              42023e208d3e        About an hour ago  541.4 MB

sickrage            latest              9e8cf499022f        2 hours ago        430.8 MB

sickbeard          latest              2afac386bd52        2 hours ago        381.7 MB

sabnzbd            latest              a1745bf1034b        3 hours ago        378.8 MB

<none>              <none>              074dbcb9f5aa        3 hours ago        378.1 MB

crashplan          latest              0385fcc22223        4 hours ago        792.1 MB

ubuntu              14.04              e54ca5efa2e9        5 days ago          276.1 MB

<none>              <none>              3a32fd5b15e4        13 days ago        407.6 MB

<none>              <none>              5cf50a598ce2        13 days ago        407.5 MB

<none>              <none>              22e16e92ea98        13 days ago        277.8 MB

 

will need to clean up the none 's again too ....

everytime abuild doesn't complete you get these none's

Link to comment

maybe this would be an idea....

 

dockers based on debian (ubuntu,....)

dockers based on red hat (centos, Fedora,....)

 

basically put them together according package management

 

then if you are a bit clever then you just have to adapt the first line of the dockerfile (from xxxxxx)  for your personal docker ....

 

i downloaded today all of sensei's dockers and build them with a few adjustments to my likings on my machine ....

 

i think that is the easiest way to use an existing docker but with your specific needs....

 

I also used GFJArdims crashplan docker

and hurricanes dropbox is next on the list after i complete tetum's mysql

so far i use only one ubuntu 14.04 image

root@R2D2:/mnt/cache/docker/dockerfiles/dropbox-master/docker-dropbox# docker  images

REPOSITORY          TAG                IMAGE ID            CREATED            VIRTUAL SIZE

nzbdrone            latest              42023e208d3e        About an hour ago  541.4 MB

sickrage            latest              9e8cf499022f        2 hours ago        430.8 MB

sickbeard          latest              2afac386bd52        2 hours ago        381.7 MB

sabnzbd            latest              a1745bf1034b        3 hours ago        378.8 MB

<none>              <none>              074dbcb9f5aa        3 hours ago        378.1 MB

crashplan          latest              0385fcc22223        4 hours ago        792.1 MB

ubuntu              14.04              e54ca5efa2e9        5 days ago          276.1 MB

<none>              <none>              3a32fd5b15e4        13 days ago        407.6 MB

<none>              <none>              5cf50a598ce2        13 days ago        407.5 MB

<none>              <none>              22e16e92ea98        13 days ago        277.8 MB

 

will need to clean up the none 's again too ....

everytime abuild doesn't complete you get these none's

 

Yeah it's very easy, not too hard.

 

I just updated the dropbox one to run as user nobody. Wait a couple of minutes for the automated build to finish.

Link to comment

 

 

YES.

 

My other advice...

 

People are using the wrong Linux Distros for the Docker Containers. Use something SMALL like Alpine or Tiny Core Linux as the base OS. They can do everything Ubuntu can and also have package managers. You do not need all the BLOAT of Ubuntu for simple apps we run like Sickbeard, CouchPotato, SABnzbd, etc.

 

I know that as soon as it's safe to run beta 6a (I'm running beta 5a with zen) I will be creating a Logitech mediaserver docker. Because of that and plex I would definitely prefer a larger distribution as the base image to provide support for larger programs

 

While I agree many standard containers will just be small python scripts, those wanting to run media center containers will need something fatter

 

Nothing about those apps requires a"fatter" base.  At most they require a few more dependencies that can easily be added as part of the specific Docker container and not as part of the base image.  It is always easier to add then remove in this case.

 

The problem with that is the thinner base images aren't directly supported by Logitech or plex while Debian is directly supported.

 

Give me a lightweight base image with rpm / apt package management support and I will be happy but I wouldn't be happy with a lightweight image without it as we will end up with the current issues we have with Slackware.

 

The entire purpose of moving to docker is to provide a simple means of running other apps within unraid, and for many tasks we need a package manager for that.

 

Well nothing is as bad as slackware for package management.  But I also hear and agree with what you are saying about supported distros.  I'm torn on Arch because in order to run plex pass versions on it you have to build from AUR or wait for someone kind enough to build it (right now IronicBadger is our easy source).  As opposed to Ubuntu for which plex provides a ready made package.  But I'm really digging systemd and rolling releases [shrug].  The holy war has started.  I'll make the popcorn  8)

Link to comment

The problem with that is the thinner base images aren't directly supported by Logitech or plex while Debian is directly supported.

 

Debian has nothing to do with Plex and Logitech. Plex and Logitech work fine in just about every major Linux Distro (which Tiny Core and Alpine Linux qualify as).

 

There are binary packages that are maintained for Plex and Logitech by a team of Package Maintainers (who know 100 times what any of us do about Plex and Logitech and how it works within an OS) and can be installed using a package manager.

 

Plex and Logitech will work in Alpine Linux (which is a slimmed down version of Arch) or Tiny Core Linux just as well as Debian.

 

Give me a lightweight base image with rpm / apt package management support and I will be happy but I wouldn't be happy with a lightweight image without it as we will end up with the current issues we have with Slackware.

 

Alpine Linux and Tiny Core are NOT Slackware and both have package managers. Google them and go look at their documentation, wikis, forums (Slackware doesn't have one) and User Base. Slackware is a joke... they are not.

 

The entire purpose of moving to docker is to provide a simple means of running other apps within unraid, and for many tasks we need a package manager for that.

 

You must be new here.

 

Do you honestly believe I would suggest using a Linux OS for Docker that doesn't have a package manager considering how often / much I have railed on unRAID for their stupidity in sticking with Slackware?

Link to comment

The problem with that is the thinner base images aren't directly supported by Logitech or plex while Debian is directly supported.

 

Debian has nothing to do with Plex and Logitech. Plex and Logitech work fine in just about every major Linux Distro (which Tiny Core and Alpine Linux qualify as).

 

There are binary packages that are maintained for Plex and Logitech by a team of Package Maintainers (who know 100 times what any of us do about Plex and Logitech and how it works within an OS) and can be installed using a package manager.

 

Plex and Logitech will work in Alpine Linux (which is a slimmed down version of Arch) or Tiny Core Linux just as well as Debian.

 

This ^^^ Though I do wish there was a larger non-unraid community dependant place to get the AUR build of Plex.  I swear, I don't ever want to sound ungrateful to IronicBadger.  He is doing the community a huge service.  But right now we of the ArchVM world are dependent on him (or any other random builder we find) unless we want to build it ourselves.  At least with Ubuntu (and debian?), Fedora, and CentOS we can grab directly from Plextv.com.

 

The entire purpose of moving to docker is to provide a simple means of running other apps within unraid, and for many tasks we need a package manager for that.

 

You must be new here.

 

Do you honestly believe I would suggest using a Linux OS for Docker that doesn't have a package manager considering how often / much I have railed on unRAID for their stupidity in sticking with Slackware?

 

:) :) :) You almost had me spewing rice and my monitor.

Link to comment

I'll start this question by admitting I do not really know what you gain/lose by using Alpine over Debian :)  But let's say for the sake of argument that I want to run something that would be hard to setup in Alpine but easy in Debian, and the people who could figure out how to run it in Alpine aren't interested in maintaining a Dockerfile for it.

 

So now I am running 5 Dockers in Alpine and 1 in Debian.  Am I better or worse off than if all 6 Dockers were in the more mainstream Debian?

 

Another way to say this... is it worth optimizing some Dockers for Alpine if people can't use Alpine for everything?

Link to comment

I think the way to move forward for this is to ask one simple question:

 

who is interested in doing a few proof of concept docks in TCL and accept the burden of helping users out with it for at least a short period?

 

If the answer is no one then I think we have the answer.

 

Remember we dont need to solve this now forever... we likely have months before this even goes to stable, so anything decided here can be revisited later once we have the benefit of more experience.

Link to comment

 

Plex and Logitech will work in Alpine Linux (which is a slimmed down version of Arch) or Tiny Core Linux just as well as Debian.

 

Can you run something like

 

RUN echo "deb http://debian.slimdevices.com stable main" | tee -a /etc/apt/sources.list
RUN apt-get update
RUN apt-get -y --force-yes install logitechmediaserver

 

or similar and know that the package handler will handle the dependancies. If it can great, if not then we have an issue in that not all package managers are alike.

 

Do you honestly believe I would suggest using a Linux OS for Docker that doesn't have a package manager considering how often / much I have railed on unRAID for their stupidity in sticking with Slackware?

 

You have to remember that I've spent 20 years dealing with IT systems. The first thing I've learnt is to check any assumptions as otherwise they have a habit of coming back and biting you on the ass...

Link to comment

who is interested in doing a few proof of concept docks in TCL and accept the burden of helping users out with it for at least a short period?

 

Tell me a few apps you want and I will create them. Takes all of 5 - 10 minutes to create a TCL one.

 

Debian based distros SUCK for Docker due to sysinitv (upstart) and even more so with Apps like CouchPotato, Sickbeard, etc. that update themselves through GIT. It will become clear when people get sick of not being notified when their docker apps stopped and it is unable to restart by itself. Example: Try updating CouchPotato, Sickbeard, etc. You either have to restart the container or rebooting unRAID.

 

I swear I think a lot of the unRAID users have "Stockholm Syndrome" due to all the beatings by Slackware. If Linux isn't complicated and harder than it needs to be (unRAID / Slackware)... People don't think there machine loves them or reliable.

Link to comment

I had posted this before, but that thread has since been deleted. I've been using this as the base image for a lot of apps and it has worked out very well so far: https://github.com/phusion/baseimage-docker

 

I like that it's based on ubuntu, so the app repositories are available. It also avoids upstart which, as grumpy mentioned, has a lot of issues with docker. They've done quite a bit to make it compatible with docker, and it is currently the #3 most popular repository on docker's hub.

 

I'm all for thin versions of Linux, but at the same time, the bigger distros tend to have more packages available and there's less fussing about to get some random app working unless you want to go down the compile path.

 

Not really trying to convince anyone or fuel a distro war. I'm sold on it for now and thought others might like the approach.

Link to comment

I had posted this before, but that thread has since been deleted. I've been using this as the base image for a lot of apps and it has worked out very well so far: https://github.com/phusion/baseimage-docker

 

Care to share your dockers?  I've looked at creating some dockers with that as a base, but just can't find the time to finish.

 

I'm using SAB & NzbDrone now, and will probably look into adding a torrent app one of these days.

Link to comment

I had posted this before, but that thread has since been deleted. I've been using this as the base image for a lot of apps and it has worked out very well so far: https://github.com/phusion/baseimage-docker

 

I like that it's based on ubuntu, so the app repositories are available. It also avoids upstart which, as grumpy mentioned, has a lot of issues with docker. They've done quite a bit to make it compatible with docker, and it is currently the #3 most popular repository on docker's hub.

 

I'm all for thin versions of Linux, but at the same time, the bigger distros tend to have more packages available and there's less fussing about to get some random app working unless you want to go down the compile path.

 

Not really trying to convince anyone or fuel a distro war. I'm sold on it for now and thought others might like the approach.

 

I wasn't aware of that Docker Image. Yes, that guy has gone through the trouble to clean up all the docker related issues that Debian based Distros (Ubuntu / Mint / etc.) have with Docker.

 

As far as the package manager is concern... I would like people to start naming apps that Ubuntu has that other Distros don't.

 

If you say Arch doesn't have Plex Media Server... it does. Yes, it is in AUR (which is kind of like adding a Repo to Ubuntu but way better) but even a noob can install it very easily.

 

To install PMS in Arch Linux:

 

yaourt -S plexmediaserver

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.