[ARCHIVE] binhex docker repository


Recommended Posts

-----------------------------------------------------------------------------------

NOTICE:  DUE TO ITS LENGTH, THIS THREAD HAS BEEN LOCKED, ARCHIVED.

Please proceed to the new home of binhex Docker containers in the link below:

    http://lime-technology.com/forum/index.php?topic=45811

-----------------------------------------------------------------------------------

 

 

Description

All the Docker images contained within this repository are Arch Linux based, the reason i choose Arch is as follows:-

 

Cutting Edge

Packages are latest stable versions, thus you get no issues with old packages causing issues with newer apps.

 

Small Footprint

Arch is built with a minimal approach, including only the required packages for the OS.

 

Arch User Repository (AUR) is vast!

AUR has packages for nearly every popular linux application out there, and using a helper app like packer means simple and quick deployment of virtually any application as a docker.

 

Familiar OS

Working knowledge of Arch, based on past experience running Arch Linux in a VM.

 

Installation

OK, sounds good to me, so how do i install your Docker apps using unRAID?.

 

Firstly you need to be running unRAID ver 6 beta 9 or later, once installed follow the instructions below:-

[*]Navigate to "Docker" tab and then the "Docker Repositories" sub-tab in the unRAID webui

[*]Enter in a URL of https://github.com/binhex/docker-templates in the "Template repositories" field

[*]Click on the "Save" button

[*]Click back to "Docker" tab and then click on the "Add Container" button

[*]Click on the "Template" dropdown menu and select the desired Docker image

[*]Click the "Advanced View" toggle on the top right and fill in required fields e.g. volume data, environment variables etc

[*]Click on the "Create" button at the bottom of the window to begin pulling down the Docker image

[*]Once the image is downloaded you should see it appear in the "Docker Containers" sub-tab

Docker Apps

I have colour coded each application as follows:-

 

green - confirmed working, no known issues

orange - needs enhancements/under testing

red - currently broken/wip.

 

CouchPotato

Deluge

DelugeVPN

Get-IPlayer

Jenkins

Jenkins-slave

Madsonic

MiniDLNA

MovieGrabber

NZBGet

Plex

PlexPass

SabNZBD

SabNZBDVPN

Sickbeard

Sickrage

Sonarr

Teamspeak

 

Links

GitHub https://github.com/binhex

Docker https://hub.docker.com/u/binhex/

Changelog https://raw.githubusercontent.com/binhex/docker-templates/master/CHANGELOG.md

 

News

AUR migration to AUR 4.x is now complete, Docker images based on packages from AUR have now been rebuilt and look ok, please report if your seeing issues.

 

If you have any support questions then please read the FAQ first, if your still stuck then post here and i will try and get back to you asap. Please be aware i'm NOT paid by Limetech and am supporting this in my spare time, so there could be a delay before i get back to you.

 

And lastly, have fun!  :D

Link to comment

General FAQ

 

Q1. What is the difference between Bridge and Host Network Types?

 

A1. Setting a Docker Container to Bridge networking (default) allows the user to map a port from the host to the container (see later questions), whereas setting a Docker container to use Host networking means the Docker applications ports cannot be defined and are bound to the Host's adapter

 

Q2. What does the Privileged check-box do?

 

A2. The Privileged checkbox allows the Docker Container to perform certain privileged activities, these are typically required for additional netwworking functions, such as creating/editing virtual adapters.

 

Q3. I can't see how to configure Deluge/SABnzbd/Transmission VPN's

 

A3. The current default action in the unRAID webui for Docker is to hide the Advanced options, for some applications you need to view these advanced options to configure the application using Environment Variables. To view these additional fields simply click on the "Advanced View" toggle button and then fill in the values.

 

Q4. What are Volume Mappings used for?

 

A4. Volume Mappings are a way of sharing data from the host to the running Docker Container, without a Volume Mapping it would be very difficult to access data written to the running containers virtual file system. Volume mappings are defined in two halves, the Container volume, which is the  root folder that will appear INSIDE the Docker Container, and the Host path, which is the full path you wish to share with the Docker Container.

 

For example a volume mapping of /config /mnt/cache/appdata will create a folder called "config" off the root of the Docker Containers file system, this folder will container all files and folders that exist in the hosts path "/mnt/cache/appdata".

 

IMPORTANT - When configuring the Docker application (not container) remember to use the container volume root folder, NOT the Host path, e.g. /data/completed for completed folder or /data/incomplete for incomplete downloads, NOT /mnt/user/appdata/completed

 

Q5. What is the /config Container Volume used for?

 

A5. This is used to store application configuration, such as ini files, db's, cached data, etc.

 

Q6. What is the /data Container Volume used for?

 

A6. This is used to store downloaded data generated from the Docker application, such as TV Shows, Movies, Games, etc.

 

Q7. What is the /media Container Volume used for?

 

A7. This is used with Docker applications that index data for user consumption, or Docker applications that require access to your media library to perform post processing, example applications are CouchPotato, Plex, Madsonic, Sickbeard, SickRage.

 

Q8. What are Port Mappings used for?

 

A8. Port mappings are used to map a hosts ports to a containers ports, this gives you the flexibility to have multiple containers running using the same port but are defined as different ports on the host side.

 

IMPORTANT - When editing the Docker container please do NOT alter the container port, this is set in the Docker image and should not be changed, this also applies to application configuration, the port number should NOT be changed.

 

Q9. Why is there more than one Container Port specified?

 

A9. Multiple Container ports are sometimes required for applications where there is more than one process running, an example of this would be Deluge, where it has a daemon (process that does the downloading), a webui (process serving the http interface), and an additional port for incoming requests.

 

Q10. I can see there is a newer version of the Docker application im running, can i update the application using the applications built-in update system?.

 

A10. In place upgrades are not recommended when using Docker applications, instead wait for the developer to trigger a new build. Once the new image has been built, then open the unRAID webui and click on the "Docker" tab and then press the "Check for Updates" button, this should then change the "Version" for the Docker container to "update ready" then simply click on this and click the "Just do it!" button to begin the download of the newer image.

 

Q11. I know Needo's Docker images automatically update on restart, can any of your Docker Images do this also?

 

A11. No, i have not gone down the route of having automatic upgrading of applications on reboot/start, two main reasons are around keeping the dockerfile code as clean and easy to maintain as possible, and secondly to do with the ease of support, if i know everybody is running the same version then its a LOT easier to offer support. I do keep a very close eye on versions of applications coming out and constantly monitor for changes, so the gap between release and the latest version being available for download via Docker webui is minimal (typically a couple of days).

 

Q12. I have a problem with a Docker, are there any logs?

 

A12. All the Docker containers for this repository use a process manager called Supervisor, this will log stdout and stderr to a log file called "supervisord.log" in the root of the defined /config hosts path. When logging an issue on the forum please attach this to help diagnose the issue quicker.

 

Still stuck?, take a look at the unRAID FAQ:- http://lime-technology.com/forum/index.php?topic=40937.0

 

DelugeVPN FAQ

 

Q1. How do i connect CouchPotato to DelugeVPN?

 

A1. To connect CouchPotato to DelugeVPN perform the following:-

 

IMPORTANT - If your connecting to DelugeVPN from a traditional (non dockerized) installation of CouchPotato then please ensure you have configured the LAN_RANGE environment variable for DelugeVPN (you can left click and "Edit" the configuration if you've already created the container)

 

1. Start DelugeVPN and login to the webui, then enable Preferences->Daemon->Allow Remote Connections

2. Restart DelugeVPN Docker container

3. Open Deluge "auth" file in /config and note username and password, it should be in the following format, if it doesn't exist then please add:-

  • <admin username>:<admin password>:10 - e.g. admin:deluge:10

4. Go to the CouchPotato webui->Settings->Downloaders->Deluge

5. Configure Host as <unraid_server_ip>:58846

6. Configure the Username and Password as specified in the auth file

7. Click on Test Deluge button, if it all works then you should see success.

 

Q2. Can i use VPN provider X with DelugeVPN?

 

A2. Yes, as long as the VPN provider allows you to connect using OpenVPN then you can use DelugeVPN. To do this please follow the instructions shown below:-

 

1. Download the ovpn file from your VPN provider, this file is the configuration file used by OpenVPN

2. Configure DelugeVPN Port Mappings and Volume Mappings as desired

3. Configure DelugeVPN environment variables as follows:-

  • VPN_REMOTE - N/A, as this is a custom provider
  • VPN_USER - Username as provided by your VPN provider
  • VPN_PASS - Password as proviuded by your VPN provider
  • ENABLE_PRIVOXY - Either "yes" or "no", your preference
  • VPN_PORT - This is the port specified in the ovpn file after the "remote <hostname>", normally 1194
  • VPN_PROV - This is the VPN provider, as this is not AirVPN or PIA we set this to "custom"
  • VPN_ENABLED - Set this to "yes"
  • LAN_RANGE - Set this to your internal home lan range, allows other applications to talk to the Deluge daemon

4. Start DelugeVPN to create folders under /config

5. Stop DelugeVPN, then paste the earlier downloaded ovpn file into /config/openvpn/

6. Start DelugeVPN and monitor supervisord.log file in /config

7. Optionally go to the website http://torguard.net/checkmytorrentipaddress.php and follow the instructions to verify the VPN tunnel is working

 

IMPORTANT - If your using a custom VPN provider you will need to find out what incoming port the provider gives you and manually set Deluge to use this, failure to do this will result in low dl/ul speeds.

  • Thanks 1
Link to comment

I did try your SickRage docker as well and for whatever reason it times out when searching indexers as well.

 

I'm beginning to think there is something wrong with SickRage, not the dockers.  I had an install prior to upgrading to x64 unraid that was working fine, but that doesn't work now either.  I was using phazes v1 plugin, maybe there is something wrong with the python packages.  At first I was able to use that with the v2 plugin, but now that has stopped working as well.

 

I can attach to the docker and wget the indexers webpage so I don't think it is a network issue.  Really odd.

 

david

Link to comment

Nice work. I especially appreciate your naming/description to state the base image + the program.  I feel like I am guessing most of the time I search the Docker repository. Currently I've got everything already running on phusion. Has anyone noticed any overall improvement running off Arch?

Link to comment

Great Work!

 

Just set it up and it's working like a dream.

 

Only query I had is that I killed the PID for OpenVPN and in the web interface I still got protocol traffic although my download and upload did indeed drop to zero.

 

Is that expected?

 

Here's the relevant part of the screen attached to my post.

 

EDIT: Just noticed one other thing, I I go to the UnRAID WebGUI docker tab and click on Deluge icon then WebGUI I get the correct web address other than it's HTTPS rather than HTTP and won't connect.  Once I change it to HTTP it works fine.

 

Hi CHBMB, replies as follows:-

 

ok so the protocol traffic is dht and other overheads from torrent traffic, i have seen no successful connections whilst the tunnel is down, and no uploads/downloads of data, i have analysed the data using wireshark and it looks like nothing gets through but please let me know if you see otherwise.

 

i saw i had defaulted to https for the webui link in unraid docker ui, now changed to http, although im sure some people will moan that the link doesnt work cos they are using https  ;D

Link to comment

Great Work!

 

Just set it up and it's working like a dream.

 

Only query I had is that I killed the PID for OpenVPN and in the web interface I still got protocol traffic although my download and upload did indeed drop to zero.

 

Is that expected?

 

Here's the relevant part of the screen attached to my post.

 

EDIT: Just noticed one other thing, I I go to the UnRAID WebGUI docker tab and click on Deluge icon then WebGUI I get the correct web address other than it's HTTPS rather than HTTP and won't connect.  Once I change it to HTTP it works fine.

 

Hi CHBMB, replies as follows:-

 

ok so the protocol traffic is dht and other overheads from torrent traffic, i have seen no successful connections whilst the tunnel is down, and no uploads/downloads of data, i have analysed the data using wireshark and it looks like nothing gets through but please let me know if you see otherwise.

 

i saw i had defaulted to https for the webui link in unraid docker ui, now changed to http, although im sure some people will moan that the link doesnt work cos they are using https  ;D

 

I thought that it was probably nothing but just wanted to check.

 

Oh, by the way, when I click WebUI I get taken to the HTTP link, but I'm using HTTPS  ;D (Only joking - I don't mind as it's rare that I use the links from the Unraid page, so whatever you go with is cool by me.

Link to comment

Are there install/configure instructions for delugevpn?  I've tried running it, and I get a log full of:

 

2015-02-09 21:10:32,091 DEBG 'deluge' stderr output:

tun0: error fetching interface information: Device not found

 

hi bmfrosty, can you make sure you have the latest docker image down as there were some tweaks i did today, please click on the "updated" link in the unraid docker ui to force an update. if its still not running then please pm me the output from the supervisor log (minus any sensitive info) and i will take a look.

Link to comment

Ah.  I was worried about leakage, but I like the look of the iptables rules that it seems to be executing:

 

-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT DROP
-A INPUT -i tun0 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport 1194 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 8112 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 8112 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o tun0 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 1194 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 8112 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 8112 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

 

I need to think about it a bit more in context, but it appears that you're letting very little other than 8112, 1194, and 53 through eth0 (I need a arch linux docker system container that I can ssh into at some point so I can poke around!).

 

What's maybe confusing is that the template has 58846 and 58946 as well as default. I'll have to think about this and dig deeper.

Link to comment

Ah.  It looks like Flexget is missing some dependencies that it needs to talk to deluge.

 

The log lines are:

 

2015-02-11 20:13 CRITICAL task          test        Plugin `deluge` cannot be used because dependency `deluge` is missing.

2015-02-11 20:13 WARNING  task          test        Aborting task (plugin: deluge)

 

There are a bunch of results if you search google for the first line.

Link to comment

Would it be possible to have separate directories for /movies and /tv instead of one generic /media?  I have /mnt/user/main/movies and for my TV, I have /mnt/user/main/shows.  Whenever I tell it the /media is /mnt/user/main, and then I go in to add a Movies section to my Plex library after launching it, it is having difficulty adding the library.  Or am I going about this the wrong way?  I have installed Plex Server many times and used other repositories but I would much rather run an Arch based version.

Link to comment

Would it be possible to have separate directories for /movies and /tv instead of one generic /media?  I have /mnt/user/main/movies and for my TV, I have /mnt/user/main/shows.  Whenever I tell it the /media is /mnt/user/main, and then I go in to add a Movies section to my Plex library after launching it, it is having difficulty adding the library.  Or am I going about this the wrong way?  I have installed Plex Server many times and used other repositories but I would much rather run an Arch based version.

 

I figured it out.  I see that /media is merely a placeholder.  I went back in and deleted it and added my own.

Link to comment

Ah.  I was worried about leakage, but I like the look of the iptables rules that it seems to be executing:

 

-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT DROP
-A INPUT -i tun0 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport 1194 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 8112 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 8112 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o tun0 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 1194 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 8112 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 8112 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

 

I need to think about it a bit more in context, but it appears that you're letting very little other than 8112, 1194, and 53 through eth0 (I need a arch linux docker system container that I can ssh into at some point so I can poke around!).

 

What's maybe confusing is that the template has 58846 and 58946 as well as default. I'll have to think about this and dig deeper.

 

Indeed yes, I can now remove those ports, as the only port you need to connect to is the webui, 58846 (deluge daemon) talks on local loopback to the webui and port 58946 (incoming port) is now done dynamically via the port.sh bash script in the docker. If you want to poke around in the running container you can do this using docker exec -it binhex-delugevpn /bin/bash this will get you root access and allow you to do some further testing if desired.

Link to comment

Indeed yes, I can now remove those ports, as the only port you need to connect to is the webui, 58846 (deluge daemon) talks on local loopback to the webui and port 58946 (incoming port) is now done dynamically via the port.sh bash script in the docker. If you want to poke around in the running container you can do this using docker exec -it binhex-delugevpn /bin/bash this will get you root access and allow you to do some further testing if desired.

Any thoughts on the flexget compatibility issue?

Link to comment

hi bmfrosty, not really had chance to have a look at this yet, as can be seen from the OP my flexget docker is currently marked as broken, it desperately needs updating but i ran into issues with a dependency for it and the package helper im using, so i need to revisit it after i have fully completed delugevpn (still need to allow country selection for end point).

Link to comment

I'm looking to start using Docker soon and your DelugeVPN container looks like what I need, but I also need a VPN for SickRage. Unfortunately my ISP blocks most torrenting websites so SickRage can't find anything without a VPN. Since you've already got Deluge+OpenVPN (maybe not finished, but close), is it easy to create other combinations?

 

EDIT: An alternative would be to keep using the OpenVPN plugin in Unraid and switch everything else to Docker. Would all the Docker traffic still pass through the VPN if it was just a plugin? I'd rather just have Transmission/Deluge and SickRage on VPN, but all apps would be a partial victory.

Link to comment

OK guys, quick update on the status of docker delugevpn, this now has automatic reconnect on tunnel drop, it also has country selection for pia gateway (see description in docker ui or docker page information tab for list of countries). i have also put in privoxy (disabled by default) which can be used with couchpotato/sickbeard/sickrage etc to bypass any isp filtering of index sites, this can be accessed via <host ip>:8118 (or your choice of port)

 

If you have been running delugevpn, then please make sure you add in the environment variables "PIA_REMOTE" defined as country you wish to use and "ENABLE_PRIVOXY" as either "yes" or "no", you will also need to add in port 8118 if you wish to use privoxy.

Alternatively remove delugevpn image and container, click on the "reload info" link in the unraid ui and then click on the "+" icon and reconfigure again (all settings within deluge will be maintained).

 

Im now marking this docker as green, if there are any bugs please let me know.

Link to comment
Guest
This topic is now closed to further replies.