Use separate container for the RSS plugin

This commit is contained in:
Bruno Perel
2017-12-03 01:47:47 +01:00
parent 486d9bfd2b
commit 4e6e8511b8
10 changed files with 67 additions and 17 deletions

View File

@@ -11,8 +11,6 @@ RUN apt-get update \
&& add-apt-repository ppa:transmissionbt/ppa \
&& wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg | apt-key add - \
&& echo "deb http://build.openvpn.net/debian/openvpn/stable xenial main" > /etc/apt/sources.list.d/openvpn-aptrepo.list \
&& apt-get install -y sudo transmission-cli transmission-common transmission-daemon curl rar unrar zip unzip wget gcc make ruby2.3-dev \
&& gem install transmission-rss \
&& apt-get update \
&& apt-get install -y sudo transmission-cli transmission-common transmission-daemon curl rar unrar zip unzip ufw iputils-ping openvpn \
&& wget https://github.com/Secretmapper/combustion/archive/release.zip \
@@ -34,7 +32,6 @@ ADD transmission/ /etc/transmission/
ENV OPENVPN_USERNAME=**None** \
OPENVPN_PASSWORD=**None** \
OPENVPN_PROVIDER=**None** \
RSS_URL=**None** \
TRANSMISSION_ALT_SPEED_DOWN=50 \
TRANSMISSION_ALT_SPEED_ENABLED=false \
TRANSMISSION_ALT_SPEED_TIME_BEGIN=540 \

View File

@@ -37,3 +37,13 @@ services:
- "8080:8080"
volumes:
- /etc/localtime:/etc/localtime:ro
rss:
build:
context: ./plugins/rss
dockerfile: Dockerfile.armhf
image: haugene/rpi-transmission-plugin-rss
links:
- transmission
environment:
- RSS_URL=http://.../xxxxx.rss

View File

@@ -30,3 +30,10 @@ services:
- 8080:8080
volumes:
- /etc/localtime:/etc/localtime:ro
rss:
image: haugene/transmission-rss
links:
- transmission
environment:
- RSS_URL=http://.../xxxxx.rss

16
plugins/rss/Dockerfile Normal file
View File

@@ -0,0 +1,16 @@
FROM ubuntu:16.04
MAINTAINER Kristian Haugene
# Update packages and install software
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get -y install curl gcc make ruby2.3-dev \
&& gem install transmission-rss \
&& curl -L https://github.com/jwilder/dockerize/releases/download/v0.5.0/dockerize-linux-amd64-v0.5.0.tar.gz | tar -C /usr/local/bin -xzv
ADD . /etc/transmission-rss
ENV TRANSMISSION_DOWNLOAD_DIR=/data/completed \
RSS_URL=**None**
CMD ["/etc/transmission-rss/start.sh"]

View File

@@ -0,0 +1,16 @@
FROM resin/rpi-raspbian:jessie
MAINTAINER Kristian Haugene
# Update packages and install software
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get -y install curl gcc make ruby2.3-dev \
&& gem install transmission-rss \
&& curl -L https://github.com/jwilder/dockerize/releases/download/v0.2.0/dockerize-linux-armhf-v0.2.0.tar.gz | tar -C /usr/local/bin -xzv \
ADD . /etc/transmission-rss
ENV TRANSMISSION_DOWNLOAD_DIR=/data/completed \
RSS_URL=**None**
CMD ["/etc/transmission-rss/start.sh"]

View File

@@ -0,0 +1,4 @@
#! /bin/sh
export TRANSMISSION_DOWNLOAD_DIR={{ .Env.TRANSMISSION_DOWNLOAD_DIR }}
export RSS_URL="{{ .Env.RSS_URL }}"

13
plugins/rss/start.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/sh
# Source our persisted env variables from container startup
dockerize -template /etc/transmission-rss/environment-variables.tmpl:/etc/transmission-rss/environment-variables.sh
. /etc/transmission-rss/environment-variables.sh
if [ -z "${RSS_URL}" ] || [ "${RSS_URL}" = "**None**" ] ; then
echo "NO RSS URL CONFIGURED, IGNORING"
else
dockerize -template /etc/transmission-rss/transmission-rss.tmpl:/etc/transmission-rss.conf
echo "STARTING RSS PLUGIN"
transmission-rss
fi

View File

@@ -2,6 +2,6 @@ feeds:
- url: {{ .Env.RSS_URL }}
download_path: {{ .Env.TRANSMISSION_DOWNLOAD_DIR }}
server:
host: 127.0.0.1
host: transmission
port: 9091
rpc_path: /transmission/rpc

View File

@@ -73,8 +73,6 @@ export TRANSMISSION_WATCH_DIR_ENABLED={{ .Env.TRANSMISSION_WATCH_DIR_ENABLED }}
# Transmission needs to know which VPN provider is used
export OPENVPN_PROVIDER={{ .Env.OPENVPN_PROVIDER }}
export RSS_URL="{{ .Env.RSS_URL }}"
export ENABLE_UFW={{ .Env.ENABLE_UFW }}
export TRANSMISSION_WEB_UI={{ .Env.TRANSMISSION_WEB_UI }}

View File

@@ -18,10 +18,6 @@ if [ "kettu" = "$TRANSMISSION_WEB_UI" ]; then
export TRANSMISSION_WEB_HOME=/opt/transmission-ui/kettu
fi
if [ ! -z "${RSS_URL}" ] && [ "${RSS_URL}" != "**None**" ] ; then
dockerize -template /etc/transmission/transmission-rss.tmpl:/etc/transmission-rss.conf
fi
echo "Generating transmission settings.json from env variables"
# Ensure TRANSMISSION_HOME is created
mkdir -p ${TRANSMISSION_HOME}
@@ -46,11 +42,4 @@ else
echo "NO PORT UPDATER FOR THIS PROVIDER"
fi
if [ -z "${RSS_URL}" ] || [ "${RSS_URL}" = "**None**" ] ; then
echo "NO RSS URL CONFIGURED, IGNORING"
else
echo "STARTING RSS PLUGIN"
transmission-rss
fi
echo "Transmission startup script complete."