Files
docker-deluge-openvpn/Dockerfile
Sillyfrog cec73f96dd Option to disable iptable REJECT target
New UFW_DISABLE_IPTABLES_REJECT option that hacks ufw to allow the
prevention of the use of the REJECT iptables target, as this is not
available on some NAS platforms (such as the Synology).
2018-07-17 17:00:29 +10:00

132 lines
5.4 KiB
Docker

FROM ubuntu:16.04
MAINTAINER Kristian Haugene
VOLUME /data
VOLUME /config
# Update packages and install software
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get -y install software-properties-common wget git \
&& 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 update \
&& apt-get install -y sudo transmission-cli transmission-common transmission-daemon curl rar unrar zip unzip ufw iputils-ping openvpn \
python2.7 python2.7-pysqlite2 && ln -sf /usr/bin/python2.7 /usr/bin/python2 \
&& wget https://github.com/Secretmapper/combustion/archive/release.zip \
&& unzip release.zip -d /opt/transmission-ui/ \
&& rm release.zip \
&& wget https://github.com/ronggang/twc-release/raw/master/src.tar.gz \
&& mkdir /opt/transmission-ui/transmission-web-control \
&& tar -xvf src.tar.gz -C /opt/transmission-ui/transmission-web-control/ \
&& rm src.tar.gz \
&& git clone git://github.com/endor/kettu.git /opt/transmission-ui/kettu \
&& apt-get install -y tinyproxy telnet \
&& 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 \
&& rm -rf dumb-init_1.2.0_amd64.deb \
&& 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 \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& groupmod -g 1000 users \
&& useradd -u 911 -U -d /config -s /bin/false abc \
&& usermod -G users abc
ADD openvpn/ /etc/openvpn/
ADD transmission/ /etc/transmission/
ADD tinyproxy /opt/tinyproxy/
ENV OPENVPN_USERNAME=**None** \
OPENVPN_PASSWORD=**None** \
OPENVPN_PROVIDER=**None** \
TRANSMISSION_ALT_SPEED_DOWN=50 \
TRANSMISSION_ALT_SPEED_ENABLED=false \
TRANSMISSION_ALT_SPEED_TIME_BEGIN=540 \
TRANSMISSION_ALT_SPEED_TIME_DAY=127 \
TRANSMISSION_ALT_SPEED_TIME_ENABLED=false \
TRANSMISSION_ALT_SPEED_TIME_END=1020 \
TRANSMISSION_ALT_SPEED_UP=50 \
TRANSMISSION_BIND_ADDRESS_IPV4=0.0.0.0 \
TRANSMISSION_BIND_ADDRESS_IPV6=:: \
TRANSMISSION_BLOCKLIST_ENABLED=false \
TRANSMISSION_BLOCKLIST_URL=http://www.example.com/blocklist \
TRANSMISSION_CACHE_SIZE_MB=4 \
TRANSMISSION_DHT_ENABLED=true \
TRANSMISSION_DOWNLOAD_DIR=/data/completed \
TRANSMISSION_DOWNLOAD_LIMIT=100 \
TRANSMISSION_DOWNLOAD_LIMIT_ENABLED=0 \
TRANSMISSION_DOWNLOAD_QUEUE_ENABLED=true \
TRANSMISSION_DOWNLOAD_QUEUE_SIZE=5 \
TRANSMISSION_ENCRYPTION=1 \
TRANSMISSION_IDLE_SEEDING_LIMIT=30 \
TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED=false \
TRANSMISSION_INCOMPLETE_DIR=/data/incomplete \
TRANSMISSION_INCOMPLETE_DIR_ENABLED=true \
TRANSMISSION_LPD_ENABLED=false \
TRANSMISSION_MAX_PEERS_GLOBAL=200 \
TRANSMISSION_MESSAGE_LEVEL=2 \
TRANSMISSION_PEER_CONGESTION_ALGORITHM= \
TRANSMISSION_PEER_ID_TTL_HOURS=6 \
TRANSMISSION_PEER_LIMIT_GLOBAL=200 \
TRANSMISSION_PEER_LIMIT_PER_TORRENT=50 \
TRANSMISSION_PEER_PORT=51413 \
TRANSMISSION_PEER_PORT_RANDOM_HIGH=65535 \
TRANSMISSION_PEER_PORT_RANDOM_LOW=49152 \
TRANSMISSION_PEER_PORT_RANDOM_ON_START=false \
TRANSMISSION_PEER_SOCKET_TOS=default \
TRANSMISSION_PEX_ENABLED=true \
TRANSMISSION_PORT_FORWARDING_ENABLED=false \
TRANSMISSION_PREALLOCATION=1 \
TRANSMISSION_PREFETCH_ENABLED=1 \
TRANSMISSION_QUEUE_STALLED_ENABLED=true \
TRANSMISSION_QUEUE_STALLED_MINUTES=30 \
TRANSMISSION_RATIO_LIMIT=2 \
TRANSMISSION_RATIO_LIMIT_ENABLED=false \
TRANSMISSION_RENAME_PARTIAL_FILES=true \
TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=false \
TRANSMISSION_RPC_BIND_ADDRESS=0.0.0.0 \
TRANSMISSION_RPC_ENABLED=true \
TRANSMISSION_RPC_HOST_WHITELIST= \
TRANSMISSION_RPC_HOST_WHITELIST_ENABLED=false \
TRANSMISSION_RPC_PASSWORD=password \
TRANSMISSION_RPC_PORT=9091 \
TRANSMISSION_RPC_URL=/transmission/ \
TRANSMISSION_RPC_USERNAME=username \
TRANSMISSION_RPC_WHITELIST=127.0.0.1 \
TRANSMISSION_RPC_WHITELIST_ENABLED=false \
TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED=true \
TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED=false \
TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME= \
TRANSMISSION_SEED_QUEUE_ENABLED=false \
TRANSMISSION_SEED_QUEUE_SIZE=10 \
TRANSMISSION_SPEED_LIMIT_DOWN=100 \
TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED=false \
TRANSMISSION_SPEED_LIMIT_UP=100 \
TRANSMISSION_SPEED_LIMIT_UP_ENABLED=false \
TRANSMISSION_START_ADDED_TORRENTS=true \
TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES=false \
TRANSMISSION_UMASK=2 \
TRANSMISSION_UPLOAD_LIMIT=100 \
TRANSMISSION_UPLOAD_LIMIT_ENABLED=0 \
TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT=14 \
TRANSMISSION_UTP_ENABLED=true \
TRANSMISSION_WATCH_DIR=/data/watch \
TRANSMISSION_WATCH_DIR_ENABLED=true \
TRANSMISSION_HOME=/data/transmission-home \
ENABLE_UFW=false \
UFW_ALLOW_GW_NET=false \
UFW_EXTRA_PORTS= \
UFW_DISABLE_IPTABLES_REJECT=false \
TRANSMISSION_WEB_UI= \
PUID= \
PGID= \
TRANSMISSION_WEB_HOME= \
DROP_DEFAULT_ROUTE= \
WEBPROXY_ENABLED=false \
WEBPROXY_PORT=8888
# Expose port and run
EXPOSE 9091
EXPOSE 8888
CMD ["dumb-init", "/etc/openvpn/start.sh"]