Docker - Transmission for Downloaders on Synology
services:
###########################################################################
## Docker Compose File: Transmission (haugene)
## Function: Torrent Download Client
## Documentation: https://github.com/haugene/docker-transmission-openvpn
###########################################################################
transmission:
image: haugene/transmission-openvpn
container_name: transmission-openvpn
cap_add:
- NET_ADMIN # Required for VPN functionality if using haugene/transmission-openvpn
environment:
- CREATE_TUN_DEVICE=true
- OPENVPN_PROVIDER=custom
- OPENVPN_CONFIG=hr-15.protonvpn.udp # Replace with your .ovpn filename
- OPENVPN_USERNAME=${OPENVPN_USERNAME:?err}
- OPENVPN_PASSWORD=${OPENVPN_PASSWORD:?err}
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
- WEBPROXY_ENABLED=false
- LOCAL_NETWORK=${LAN_NETWORK:?err} # Your local network range
- PUID=${PUID:?err} # User ID
- PGID=${PGID:?err} # Group ID
- TZ=${TZ:?err} # TimeZone
- UMASK=${UMASK:?err} # File Umask
- DEBUG=true
- TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED=false
- TRANSMISSION_UMASK=${UMASK:?err}
volumes:
- ${DOCKERFOLDER:?err}/transmission-openvpn/ovpn_files/:/etc/openvpn/custom
- ${DOCKERFOLDER:?err}/transmission-openvpn/config/:/config
- ${MEDIAFOLDER:?err}/torrents:/data
- ${MEDIAFOLDER:?err}/media:/media
logging:
driver: json-file
options:
max-file: ${DOCKERLOGGING_MAXFILE:?err} # Max number of log files
max-size: ${DOCKERLOGGING_MAXSIZE:?err} # Max file size
ports:
- 9091:9091 # Transmission Web UI
- 51413:51413 # Transmission Peer Port (adjust if using port forwarding)
- 51413:51413/udp # Transmission Peer Port (adjust if using port forwarding)
restart: unless-stopped
###########################################################################
## Docker Compose File: qBittorrent (LinuxServer.io)
## Function: Torrent Download Client
## Documentation: https://docs.linuxserver.io/images/docker-qbittorrent
###########################################################################
# qbittorrent:
# image: linuxserver/qbittorrent:latest
# container_name: qbittorrent
# network_mode: service:transmission # qBittorrent MUST always use a VPN / Secure Internet connection
# environment:
# - PUID=1031 # Optional: Adjust for your user ID
# - PGID=100 # Optional: Adjust for your group ID
# - UMASK=002
# - TZ=America/Montreal
# - WEBUI_PORT=8180
# # - DOCKER_MODS=ghcr.io/gilbn/theme.park:qbittorrent
# # - TP_THEME=${TP_THEME:?err:?err}
# volumes:
# - ${DOCKERFOLDER:?err}/qbittorrent/config:/config
# - ${MEDIAFOLDER:?err}:/data
# ports:
# - 6881:6881 # Torrent port (TCP)
# - 6881:6881/udp # Torrent port (UDP)
# - 8180:8080 # Web UI port
# depends_on:
# - transmission
# restart: unless-stopped
###########################################################################
## Docker Compose File: SABnzbd (LinuxServer.io)
## Function: Usenet Download Client
## Documentation: https://docs.linuxserver.io/images/docker-sabnzbd
###########################################################################
# sabnzbd:
# image: lscr.io/linuxserver/sabnzbd:latest
# container_name: sabnzbd
# network_mode: service:transmission # SABnzbd MUST always use a VPN / Secure Internet connection
# environment:
# - PUID=${PUID:?err} # User ID
# - PGID=${PGID:?err} # Group ID
# - TZ=${TZ:?err} # TimeZone
# - UMASK=${UMASK:?err} # File Umask
# - DOCKER_MODS=ghcr.io/gilbn/theme.park:sabnzbd
# - TP_THEME=organizr # Refer to Theme Park for more info / options: https://docs.theme-park.dev/theme-options/aquamarine/
# volumes:
# - ${DOCKERFOLDER:?err}/sabnzbd/config:/config
# - ${MEDIAFOLDER:?err}:/data
# ports:
# - 8080:8080 # Sabnzbd Web UI
# - 9090:9090 # Sabnzbd Web UI HTTPS
# depends_on:
# - transmission
# restart: unless-stopped
# Create vlan on Synology
#sudo docker network create -d macvlan --subnet=192.168.253.0/24 --gateway=192.168.253.1 --ip-range=192.168.253.36/30 --aux-address 'host=192.168.253.39' -o parent=eth3 media-network
#sudo ip link add media-network link eth3 type macvlan mode bridge
#sudo ip addr add 192.168.253.39/32 dev media-network
#sudo ip link set media-network up
#sudo ip route add 192.168.253.36/30 dev media-network
This is for the .env file
COMPOSE_PROJECT_NAME=VpnMediaStack
OPENVPN_USERNAME=
OPENVPN_PASSWORD=
PUID=1031
PGID=100
TZ=America/Montreal
UMASK=002
DOCKERLOGGING_MAXFILE=10
DOCKERLOGGING_MAXSIZE=200k
LAN_NETWORK=192.168.253.0/24
HOSTNAME=
DOCKERFOLDER=/volume1/docker
MEDIAFOLDER=/volume1/data
DOMAIN=
SUB_DOMAIN_TRANSMISSION=transmission