needo Posted June 22, 2014 Share Posted June 22, 2014 That will install the latest public version of Plex which is a couple releases old. Hmm, I don't want that either I want to be able to specify exactly what version of plex I am going to get. Why do the dockerfiles all use that shell.ninthgate.se site instead of doing something like this: ADD http://downloads.plexapp.com/plex-media-server/0.9.9.10.458-008ea34/plexmediaserver_0.9.9.10.458-008ea34_amd64.deb plexmediaserver.deb RUN sudo -s dpkg -i plexmediaserver.deb if that would work, then perhaps we could pass the download url via an env variable? docker <usual stuff> -e src=http://downloads.plexapp.com/plex-media-server/0.9.9.10.458-008ea34/plexmediaserver_0.9.9.10.458-008ea34_amd64.deb Because the large majority of people want to run the latest and the greatest. And apt is very easy. The way you described would be great for power users but would be a support nightmare for others who have never heard of an environmental variable and want it to just work. Link to comment
ljm42 Posted June 22, 2014 Share Posted June 22, 2014 Because the large majority of people want to run the latest and the greatest. And apt is very easy. The way you described would be great for power users but would be a support nightmare for others who have never heard of an environmental variable and want it to just work. Hmm, wouldn't it be more of a support nightmare if a problem were discovered in the version provided by shell.ninthgate.se and users had no way to revert? I can't find any documentation on that site, I don't know how often it updates or how to get plexpass versions, etc. Link to comment
hurricanehrndz Posted June 23, 2014 Share Posted June 23, 2014 well tell me 2 things can you upgrade sickrage without rebuilding the image? did you have a look in your btrfs/subvolumes directory ? Let me explain how it can be done with this modified Sickbeard Dockerfile: FROM FROM ubuntu:14.04 MAINTAINER Example <[email protected]> RUN usermod -u 99 nobody && \ usermod -g 100 nobody RUN apt-get update -q && \ apt-get install -qy --force-yes python python-cheetah ca-certificates git RUN git clone https://github.com/midgetspy/Sick-Beard/ /opt/sickbeard/ && \ chown -R nobody:users /opt/sickbeard VOLUME /config VOLUME /data EXPOSE 8081 ADD ./start.sh /start.sh CMD ["/start.sh"] Now, create a start.sh file alongside Dockerfile: #!/bin/bash # Main command CMD="python /opt/sickbeard/SickBeard.py --datadir=/config" # Update container apt-get update -qq && apt-get upgrade -y # Update git clone with pull cd /opt/sickbeard && git pull # Running the main command as nobody su -c "$CMD" -s /bin/sh nobody As you can see, the container will be updated every time it run. Wow this is so inefficient and a wast of space. I run one container and only one container per service. I name my containers so I can shut them down and start them up, and I don't have to recreate them. My sickbeard and couchpotato work and they can update while the container is running. The trick is to have sickbeard and couch as background process and something else as the foreground process. I have a process monitoring the log as the foreground process so the container only stop when you shutdown or when you tell it to stop. You can visit my docker index if you like. hurricane and I have documented most of my containers on this thread here. http://lime-technology.com/forum/index.php?topic=33599.0 PS If people would like I could update to ubuntu 14.04, I don't see an issue running precise containers though. Also intermediate images can be removed when building from source. You just add --rm=true when building from the Dockerfile. This is not the issue if your are pulling images from the index rather than building them from source. also localhost works if you share the host network stack you can do this by adding --net=host to your run command. I will update all my files to run as user nobody. Link to comment
eroz Posted June 24, 2014 Share Posted June 24, 2014 New tread for dockers ---> http://lime-technology.com/forum/index.php?topic=33843 sickrage is available Anyone know what happened to sensei73's docker thread? Link to comment
NAS Posted June 24, 2014 Share Posted June 24, 2014 Seems to be gone. At a guess he deleted it himself Link to comment
JustinChase Posted June 24, 2014 Share Posted June 24, 2014 He said he thought needo had everything we needed, so didn't think it made sense to keep duplicate work, and asked IronicBadger to delete the thread, which he did. Link to comment
eroz Posted June 24, 2014 Share Posted June 24, 2014 He said he thought needo had everything we needed, so didn't think it made sense to keep duplicate work, and asked IronicBadger to delete the thread, which he did. missed that. thanks! Link to comment
dalben Posted June 24, 2014 Share Posted June 24, 2014 Deleting threads like that is a bad thing. Locking them serves the same purpose but doesn't destroy nanny information. Link to comment
bkastner Posted June 24, 2014 Share Posted June 24, 2014 Deleting threads like that is a bad thing. Locking them serves the same purpose but doesn't destroy nanny information. Agreed. I thought the moderators had gotten out of the habit of deleting forums (or letting users do it). There is still often useful information in there that is now lost. Why not just add a note that it's deprecated and lock it. Link to comment
bondoo0 Posted June 24, 2014 Share Posted June 24, 2014 I'm running into an update issue with Docker containers for Sickbeard and Couchpotato. When I try to do an update from within either app, it tells me it can't update because there are local files that have been changed (and lists the system files it thinks were changed). I haven't changed any of the files, so I'm not sure why it's giving me this conflict and refusing to update. So I guess I'm wondering if there is any way to change the files so it doesn't see them as conflicted, or is there a way to force the update so it ignores the conflicted files, or some other solution that I'm missing? This is on a test server, so I could I suppose just delete the container, and try updating again, but I was hoping for a solution in case I run into this later with "production" data. Link to comment
hurricanehrndz Posted June 24, 2014 Share Posted June 24, 2014 I'm running into an update issue with Docker containers for Sickbeard and Couchpotato. When I try to do an update from within either app, it tells me it can't update because there are local files that have been changed (and lists the system files it thinks were changed). I haven't changed any of the files, so I'm not sure why it's giving me this conflict and refusing to update. So I guess I'm wondering if there is any way to change the files so it doesn't see them as conflicted, or is there a way to force the update so it ignores the conflicted files, or some other solution that I'm missing? This is on a test server, so I could I suppose just delete the container, and try updating again, but I was hoping for a solution in case I run into this later with "production" data. check out my docker images if you like, I don't have that issue. https://hub.docker.com/u/hurricane/ Link to comment
needo Posted June 25, 2014 Share Posted June 25, 2014 I'm running into an update issue with Docker containers for Sickbeard and Couchpotato. When I try to do an update from within either app, it tells me it can't update because there are local files that have been changed (and lists the system files it thinks were changed). I haven't changed any of the files, so I'm not sure why it's giving me this conflict and refusing to update. So I guess I'm wondering if there is any way to change the files so it doesn't see them as conflicted, or is there a way to force the update so it ignores the conflicted files, or some other solution that I'm missing? This is on a test server, so I could I suppose just delete the container, and try updating again, but I was hoping for a solution in case I run into this later with "production" data. Updating an application within a Docker container via a web interface goes against the whole point of running Docker in the first place. Lets say you update Sickbeard via the web interface. Then something happens and you need to regenerate your container. There goes your update, and your current database that was upgraded earlier is no longer compatible with the old version. Best case scenario SickBeard is offline, worst case scenario the database is corrupted and you have to now start from scratch. Just Say No to git and updating via Web UI in Docker! Link to comment
bkastner Posted June 25, 2014 Share Posted June 25, 2014 I'm running into an update issue with Docker containers for Sickbeard and Couchpotato. When I try to do an update from within either app, it tells me it can't update because there are local files that have been changed (and lists the system files it thinks were changed). I haven't changed any of the files, so I'm not sure why it's giving me this conflict and refusing to update. So I guess I'm wondering if there is any way to change the files so it doesn't see them as conflicted, or is there a way to force the update so it ignores the conflicted files, or some other solution that I'm missing? This is on a test server, so I could I suppose just delete the container, and try updating again, but I was hoping for a solution in case I run into this later with "production" data. Updating an application within a Docker container via a web interface goes against the whole point of running Docker in the first place. Lets say you update Sickbeard via the web interface. Then something happens and you need to regenerate your container. There goes your update, and your current database that was upgraded earlier is no longer compatible with the old version. Best case scenario SickBeard is offline, worst case scenario the database is corrupted and you have to now start from scratch. Just Say No to git and updating via Web UI in Docker! So how is someone supposed to update these containers? Link to comment
aptalca Posted June 25, 2014 Share Posted June 25, 2014 I'm running into an update issue with Docker containers for Sickbeard and Couchpotato. When I try to do an update from within either app, it tells me it can't update because there are local files that have been changed (and lists the system files it thinks were changed). I haven't changed any of the files, so I'm not sure why it's giving me this conflict and refusing to update. So I guess I'm wondering if there is any way to change the files so it doesn't see them as conflicted, or is there a way to force the update so it ignores the conflicted files, or some other solution that I'm missing? This is on a test server, so I could I suppose just delete the container, and try updating again, but I was hoping for a solution in case I run into this later with "production" data. Updating an application within a Docker container via a web interface goes against the whole point of running Docker in the first place. Lets say you update Sickbeard via the web interface. Then something happens and you need to regenerate your container. There goes your update, and your current database that was upgraded earlier is no longer compatible with the old version. Best case scenario SickBeard is offline, worst case scenario the database is corrupted and you have to now start from scratch. Just Say No to git and updating via Web UI in Docker! Well you would be right as long as docker container is set to install a specific version rather than git master. A rebuild after update could cause a database issue But if the docker container is set to install from git master, then Web ui updates would be fine. I know there are different schools of thought and you're against installing from git master, but some people prefer to run only the latest with all the bug fixes and updates. With git master, people can update as soon as the new version is out, but with specific versions in docker, you would have to wait until the repo manager updates his source (we all know that plugin developers come and go) Link to comment
needo Posted June 25, 2014 Share Posted June 25, 2014 So how is someone supposed to update these containers? Containers aren't supposed to be upgraded, only images are. Containers are temporary. Link to comment
needo Posted June 25, 2014 Share Posted June 25, 2014 With git master, people can update as soon as the new version is out, but with specific versions in docker, you would have to wait until the repo manager updates his source (we all know that plugin developers come and go) Right but again that goes back to the issue of what happens when you need to rebuild the container? Or the container crashes? Then the scenario I outlined above applies. I also love running the bleeding edge. But even in development it bit me in the ass with CouchPotato as when going back and forth between git master and the last stable version I lost my entire want list. Link to comment
jumperalex Posted June 25, 2014 Share Posted June 25, 2014 I'm starting to wonder if the mind set of all the docker early adoptors is actually not conclusive to docker, but is instead better served by running XEN/KVM virtual machines. Full Disclosure: I have not taken the leap into playing with docker myself but I have been diligently keeping up on the various threads so that I'll know when the time is right for me. Pretty much how I dealt with Xen ... call me a semi-early adopter But I get the distinct impression that docker will indeed be great for all the people out there who are almost too afraid to even mess about with mature plugins. For anyone else more savvy / adventurous, docker will feel limiting by its very nature. [shrug] Just a random thought that hit me reading about how to manipulate the guts of a container vs. treating them like near inviolable blobs that get replaced whole when there are updates. Link to comment
bondoo0 Posted June 25, 2014 Share Posted June 25, 2014 Lets say you update Sickbeard via the web interface. Then something happens and you need to regenerate your container. There goes your update, and your current database that was upgraded earlier is no longer compatible with the old version. Best case scenario SickBeard is offline, worst case scenario the database is corrupted and you have to now start from scratch. Just Say No to git and updating via Web UI in Docker! So to make sure I understand what you're suggesting, the container would never have an application update performed inside it. Instead the container's developer would just release a new container with the updated version of the app. If so doesn't this put us right back to where we were with plugins (have to write your own where you can control the version, or only get updates when the developer publishes one)? Link to comment
needo Posted June 25, 2014 Share Posted June 25, 2014 I have written some scripts that will make it so those who only want to run the stable versions can do so, and those who want to update and run the latest git versions can also do so. All from the same Dock. I am working on updating everything today. Link to comment
bondoo0 Posted June 25, 2014 Share Posted June 25, 2014 I ran into a new potential issue (or perhaps I just don't have something setup correctly on my test machine). I setup SAB/SB/CP/Plex (using the eschultz provided containers), and they all were working last night. When I checked this morning SB and CP were not responding correctly. So I used docker stop and docker start to reset the container. However, when I started the apps, all the configuration information was lost. So as a test, I did the same thing with SAB, which was working fine, and it too lost the configuration info (when I go to the URL, I get the setup wizard). Here are the docker commands used in case that helps (and this was a fresh unraid install on my test machine, none of the apps were there previously). The machine has no plugins installed, and these are the only things running. docker run -d -h Tower --name="sabnzbd" -v /mnt/cache/Apps/sabnzb:/config -v /mnt/user/Data:/data -p 8080:8080 eschultz/docker-sabnzbd docker run -d -h Tower --name="couchpotato" -v /mnt/cache/Apps/couchpotato:/config -v /mnt/user/Data:/data -p 8082:5050 eschultz/docker-couchpotato docker run -d -h Tower --name="sickbeard" -v /mnt/cache/Apps/sickbeard:/config -v /mnt/user/Data:/data -p 8081:8081 eschultz/docker-sickbeard Link to comment
itimpi Posted June 25, 2014 Share Posted June 25, 2014 Just a thought - have you checked that the Apps share is set to be cache only. If not, mover might have kicked in and moved the configuration information to the main array. Link to comment
JustinChase Posted June 25, 2014 Share Posted June 25, 2014 Just a thought - have you checked that the Apps share is set to be cache only. If not, mover might have kicked in and moved the configuration information to the main array. Unless you manually went in and changed the /mnt/cache/Apps to cache only, this is what happened. This is probably why the programs stopped working correctly overnight. The good news is that you can probably just copy the files back off the array to the cache drive, and your settings should be back. Don't forget to make the share a cache only share. *Also, make sure to set the cache/docker share to cache only also. Link to comment
jumperalex Posted June 25, 2014 Share Posted June 25, 2014 and make sure there are no folders on your array (non-cache) named the same as your cache-only share once you're done move things back over.. Link to comment
bondoo0 Posted June 25, 2014 Share Posted June 25, 2014 Just a thought - have you checked that the Apps share is set to be cache only. If not, mover might have kicked in and moved the configuration information to the main array. That was it, the mover script moved the files, so I have changed Apps to be cache only (I thought it was set that way previously, but apparently not). I did verify docker was set correctly before so that isn't an issue. Link to comment
monkeytsar Posted June 26, 2014 Share Posted June 26, 2014 I could do with some help please! I've upgraded from 5a to 6 and my XEN ArchVM seems to die as soon as i ask it to do anything useful so i thought i'd move over to docker. Now i think i get it but i'm having some trouble. So far I've installed the following apps and here's the commands I've used to do so. docker run -d -h Tower --name="sabnzbd" -v /mnt/cache/Apps/sabnzb:/config -v /mnt/user/Download:/Download -p 8080:8080 eschultz/docker-sabnzbd docker run -d -h Tower --name="couchpotato" -v /mnt/cache/Apps/couchpotato:/config -v /mnt/user/Download:/Download -v /mnt/user/Media:/Media -p 5050:5050 eschultz/docker-couchpotato docker run -d -h Tower --name="sickbeard" -v /mnt/cache/Apps/sickbeard:/config -v /mnt/user/Download:/Download -v /mnt/user/Media:/Media -p 8081:8081 eschultz/docker-sickbeard docker run -d --net="host" --name="plex" -v /mnt/cache/Apps/plex:/config -v /mnt/user/Media:/Media -p 32400:32400 eschultz/docker-plex Now Sickbeard and SABnzbd seem to work fine. Couchpotato and plex just don't seem to work for me at all. running docker ps gives me this root@Tower:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c49631160446 eschultz/docker-sickbeard:latest python /sickbeard/Si 58 minutes ago Up 58 minutes 0.0.0.0:8081->8081/tcp sickbeard ad9dd72ffa92 eschultz/docker-sabnzbd:latest /usr/bin/sabnzbdplus About an hour ago Up About an hour 9090/tcp, 0.0.0.0:8080->8080/tcp sabnzbd and running docker ps -a gives me this root@Tower:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5c9d34427ba0 eschultz/docker-plex:latest /start.sh 42 minutes ago Exited (1) 33 minutes ago plex c49631160446 eschultz/docker-sickbeard:latest python /sickbeard/Si 59 minutes ago Up 59 minutes 0.0.0.0:8081->8081/tcp sickbeard ee03a0c8883e eschultz/docker-couchpotato:latest python /opt/couchpot About an hour ago Exited (0) About an hour ago couchpotato ad9dd72ffa92 eschultz/docker-sabnzbd:latest /usr/bin/sabnzbdplus About an hour ago Up About an hour 9090/tcp, 0.0.0.0:8080->8080/tcp sabnzbd I'm guessing this means that couch and plex cant start for some reason, again anyone got any pointers? Thanks Link to comment
Recommended Posts