Skip to main content

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
      
# 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