mirror of
https://github.com/haugene/docker-transmission-openvpn.git
synced 2025-08-18 21:11:00 +02:00
Merge branch 'master' into dev
* master: correcting docker-compose build syntax adding ARM (Raspberry Pi) support
This commit is contained in:
commit
599f382ee2
103
Dockerfile.armhf
Normal file
103
Dockerfile.armhf
Normal file
@ -0,0 +1,103 @@
|
||||
# Transmission and OpenVPN
|
||||
#
|
||||
# Version 1.10
|
||||
|
||||
FROM resin/rpi-raspbian:jessie
|
||||
MAINTAINER Kristian Haugene
|
||||
|
||||
VOLUME /data
|
||||
VOLUME /config
|
||||
|
||||
# Update packages and install software
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y transmission-cli transmission-common transmission-daemon \
|
||||
&& apt-get install -y openvpn curl \
|
||||
&& 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 \
|
||||
&& rm -rf dumb-init_*.deb \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
|
||||
&& 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 configuration and scripts
|
||||
ADD openvpn/ /etc/openvpn/
|
||||
ADD transmission/ /etc/transmission/
|
||||
|
||||
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_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"
|
||||
|
||||
# Expose port and run
|
||||
EXPOSE 9091
|
||||
CMD ["dumb-init", "/etc/openvpn/start.sh"]
|
@ -184,6 +184,13 @@ If you have transmission authentication enabled and want scripts in another cont
|
||||
control the transmission-daemon, this can be a handy way to access the credentials.
|
||||
For example, another container may pause or restrict transmission speeds while the server is streaming video.
|
||||
|
||||
## Running on ARM (Raspberry PI)
|
||||
Since the Raspberry PI runs on an ARM architecture instead of x64, the existing x64 images will not
|
||||
work properly. To support users that wish to run this container on a Raspberry Pi, there are 2 additional
|
||||
Dockerfiles created. The Dockerfiles supported by the Raspberry PI are Dockerfile.armhf -- there is
|
||||
also an example docker-compose-armhf file that shows how you might use Transmission/OpenVPN and the
|
||||
corresponding nginx reverse proxy on an RPI machine.
|
||||
|
||||
## Make it work on Synology NAS
|
||||
Here are the steps to run it on a Synology NAS (Tested on DSM 6) :
|
||||
|
||||
|
29
docker-compose-armhf.yml
Normal file
29
docker-compose-armhf.yml
Normal file
@ -0,0 +1,29 @@
|
||||
transmission:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.armhf
|
||||
privileged: true
|
||||
restart: always
|
||||
ports:
|
||||
- 9091:9091
|
||||
dns:
|
||||
- 8.8.8.8
|
||||
- 8.8.4.4
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /your/storage/path/:/data
|
||||
environment:
|
||||
OPENVPN_PROVIDER: PIA
|
||||
OPENVPN_USERNAME: username
|
||||
OPENVPN_PASSWORD: password
|
||||
OPENVPN_OPTS: "--inactive 3600 --ping 10 --ping-exit 60"
|
||||
LOCAL_NETWORK: 192.168.0.0/24
|
||||
|
||||
proxy:
|
||||
build: ./proxy/Dockerfile.armhf
|
||||
links:
|
||||
- transmission
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
17
proxy/Dockerfile.armhf
Normal file
17
proxy/Dockerfile.armhf
Normal file
@ -0,0 +1,17 @@
|
||||
FROM resin/rpi-raspbian:jessie
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
ca-certificates \
|
||||
nginx \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN ln -sf /dev/stdout /var/log/nginx/access.log \
|
||||
&& ln -sf /dev/stderr /var/log/nginx/error.log
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
|
Loading…
x
Reference in New Issue
Block a user