Browse Source

Use separate container for the RSS plugin

master
Bruno Perel 6 years ago
parent
commit
4e6e8511b8

+ 0
- 3
Dockerfile 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 \

+ 10
- 0
docker-compose-armhf.yml 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

+ 7
- 0
docker-compose.yml 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
- 0
plugins/rss/Dockerfile 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"]

+ 16
- 0
plugins/rss/Dockerfile.armhf 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"]

+ 4
- 0
plugins/rss/environment-variables.tmpl View File

@@ -0,0 +1,4 @@
#! /bin/sh

export TRANSMISSION_DOWNLOAD_DIR={{ .Env.TRANSMISSION_DOWNLOAD_DIR }}
export RSS_URL="{{ .Env.RSS_URL }}"

+ 13
- 0
plugins/rss/start.sh 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

transmission/transmission-rss.tmpl → plugins/rss/transmission-rss.tmpl 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

+ 0
- 2
transmission/environment-variables.tmpl 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 }}


+ 0
- 11
transmission/start.sh 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."

Loading…
Cancel
Save