Merge pull request #348 from pandrez/master

Added Kettu Web UI
This commit is contained in:
Kristian Haugene
2017-11-19 14:30:32 +01:00
committed by GitHub
5 changed files with 15 additions and 8 deletions

View File

@@ -7,7 +7,7 @@ VOLUME /config
# Update packages and install software # Update packages and install software
RUN apt-get update \ RUN apt-get update \
&& apt-get -y upgrade \ && apt-get -y upgrade \
&& apt-get -y install software-properties-common wget \ && apt-get -y install software-properties-common wget git \
&& add-apt-repository ppa:transmissionbt/ppa \ && add-apt-repository ppa:transmissionbt/ppa \
&& wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg | apt-key add - \ && 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 \ && echo "deb http://build.openvpn.net/debian/openvpn/stable xenial main" > /etc/apt/sources.list.d/openvpn-aptrepo.list \
@@ -16,6 +16,7 @@ RUN apt-get update \
&& wget https://github.com/Secretmapper/combustion/archive/release.zip \ && wget https://github.com/Secretmapper/combustion/archive/release.zip \
&& unzip release.zip -d /opt/transmission-ui/ \ && unzip release.zip -d /opt/transmission-ui/ \
&& rm release.zip \ && rm release.zip \
&& git clone git://github.com/endor/kettu.git /opt/transmission-ui/kettu \
&& wget https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb \ && wget https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb \
&& dpkg -i dumb-init_1.2.0_amd64.deb \ && dpkg -i dumb-init_1.2.0_amd64.deb \
&& rm -rf dumb-init_1.2.0_amd64.deb \ && rm -rf dumb-init_1.2.0_amd64.deb \
@@ -104,7 +105,7 @@ ENV OPENVPN_USERNAME=**None** \
TRANSMISSION_WATCH_DIR_ENABLED=true \ TRANSMISSION_WATCH_DIR_ENABLED=true \
TRANSMISSION_HOME=/data/transmission-home \ TRANSMISSION_HOME=/data/transmission-home \
ENABLE_UFW=false \ ENABLE_UFW=false \
ENABLE_COMBUSTION_UI=false \ TRANSMISSION_WEB_UI="" \
PUID="" \ PUID="" \
PGID="" \ PGID="" \
TRANSMISSION_WEB_HOME="" TRANSMISSION_WEB_HOME=""

View File

@@ -8,10 +8,11 @@ VOLUME /config
RUN apt-get update \ RUN apt-get update \
&& apt-get -y upgrade \ && apt-get -y upgrade \
&& apt-get -y install transmission-cli transmission-common transmission-daemon \ && apt-get -y install transmission-cli transmission-common transmission-daemon \
&& apt-get install -y openvpn curl ufw \ && apt-get install -y openvpn curl ufw git\
&& wget https://github.com/Secretmapper/combustion/archive/release.zip \ && wget https://github.com/Secretmapper/combustion/archive/release.zip \
&& unzip release.zip -d /opt/transmission-ui/ \ && unzip release.zip -d /opt/transmission-ui/ \
&& rm release.zip \ && rm release.zip \
&& git clone git://github.com/endor/kettu.git /opt/transmission-ui/kettu \
&& curl -sLO https://archive.raspbian.org/raspbian/pool/main/d/dumb-init/dumb-init_1.0.3-1_armhf.deb \ && curl -sLO https://archive.raspbian.org/raspbian/pool/main/d/dumb-init/dumb-init_1.0.3-1_armhf.deb \
&& dpkg -i dumb-init_*.deb \ && dpkg -i dumb-init_*.deb \
&& rm -rf dumb-init_*.deb \ && rm -rf dumb-init_*.deb \
@@ -101,7 +102,7 @@ ENV OPENVPN_USERNAME=**None** \
TRANSMISSION_WATCH_DIR_ENABLED=true \ TRANSMISSION_WATCH_DIR_ENABLED=true \
TRANSMISSION_HOME=/data/transmission-home \ TRANSMISSION_HOME=/data/transmission-home \
ENABLE_UFW=false \ ENABLE_UFW=false \
ENABLE_COMBUSTION_UI=false \ TRANSMISSION_WEB_UI=\
PUID=\ PUID=\
PGID=\ PGID=\
TRANSMISSION_WEB_HOME= TRANSMISSION_WEB_HOME=

View File

@@ -111,12 +111,12 @@ If TRANSMISSION_PEER_PORT_RANDOM_ON_START is enabled then it allows traffic to t
### Alternative web UIs ### Alternative web UIs
You can override the default web UI by setting the ```TRANSMISSION_WEB_HOME``` environment variable. If set, Transmission will look there for the Web Interface files, such as the javascript, html, and graphics files. You can override the default web UI by setting the ```TRANSMISSION_WEB_HOME``` environment variable. If set, Transmission will look there for the Web Interface files, such as the javascript, html, and graphics files.
[Combustion UI](https://github.com/Secretmapper/combustion) comes bundled with the container. You can enable it by setting ```ENABLE_COMBUSTION_UI=true```. Note that this will override the ```TRANSMISSION_WEB_HOME``` variable if set. [Combustion UI](https://github.com/Secretmapper/combustion) and [Kettu](https://github.com/endor/kettu) come bundled with the container. You can enable either of them by setting```TRANSMISSION_WEB_UI=combustion``` or ```TRANSMISSION_WEB_UI=kettu```, respectively. Note that this will override the ```TRANSMISSION_WEB_HOME``` variable if set.
| Variable | Function | Example | | Variable | Function | Example |
|----------|----------|-------| |----------|----------|-------|
|`TRANSMISSION_WEB_HOME` | Set Transmission web home | `TRANSMISSION_WEB_HOME=/path/to/web/ui`| |`TRANSMISSION_WEB_HOME` | Set Transmission web home | `TRANSMISSION_WEB_HOME=/path/to/web/ui`|
|`ENABLE_COMBUSTION_UI` | Use the bundled Combustion web UI | `ENABLE_COMBUSTION_UI=true`| |`TRANSMISSION_WEB_UI` | Use the specified bundled web UI | `TRANSMISSION_WEB_UI=combustion` or `TRANSMISSION_WEB_UI=kettu`|
### Transmission configuration options ### Transmission configuration options

View File

@@ -74,7 +74,7 @@ export TRANSMISSION_WATCH_DIR_ENABLED={{ .Env.TRANSMISSION_WATCH_DIR_ENABLED }}
export OPENVPN_PROVIDER={{ .Env.OPENVPN_PROVIDER }} export OPENVPN_PROVIDER={{ .Env.OPENVPN_PROVIDER }}
export ENABLE_UFW={{ .Env.ENABLE_UFW }} export ENABLE_UFW={{ .Env.ENABLE_UFW }}
export ENABLE_COMBUSTION_UI={{ .Env.ENABLE_COMBUSTION_UI }} export TRANSMISSION_WEB_UI={{ .Env.TRANSMISSION_WEB_UI }}
export PUID={{ .Env.PUID }} export PUID={{ .Env.PUID }}
export PGID={{ .Env.PGID }} export PGID={{ .Env.PGID }}

View File

@@ -8,11 +8,16 @@
echo "Updating TRANSMISSION_BIND_ADDRESS_IPV4 to the ip of $1 : $4" echo "Updating TRANSMISSION_BIND_ADDRESS_IPV4 to the ip of $1 : $4"
export TRANSMISSION_BIND_ADDRESS_IPV4=$4 export TRANSMISSION_BIND_ADDRESS_IPV4=$4
if [ "true" = "$ENABLE_COMBUSTION_UI" ]; then if [ "combustion" = "$TRANSMISSION_WEB_UI" ]; then
echo "Using Combustion UI, overriding TRANSMISSION_WEB_HOME" echo "Using Combustion UI, overriding TRANSMISSION_WEB_HOME"
export TRANSMISSION_WEB_HOME=/opt/transmission-ui/combustion-release export TRANSMISSION_WEB_HOME=/opt/transmission-ui/combustion-release
fi fi
if [ "kettu" = "$TRANSMISSION_WEB_UI" ]; then
echo "Using Kettu UI, overriding TRANSMISSION_WEB_HOME"
export TRANSMISSION_WEB_HOME=/opt/transmission-ui/kettu
fi
echo "Generating transmission settings.json from env variables" echo "Generating transmission settings.json from env variables"
# Ensure TRANSMISSION_HOME is created # Ensure TRANSMISSION_HOME is created
mkdir -p ${TRANSMISSION_HOME} mkdir -p ${TRANSMISSION_HOME}