Skip to main content

Transmission

  transmission:
    container_name: transmission
    image: haugene/transmission-openvpn
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    restart: unless-stopped
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    dns:
      - 8.8.4.4
      - 8.8.8.8
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /drivespace/movies/downloads:/data
    environment:
      - OPENVPN_PROVIDER=PIA
      - OPENVPN_CONFIG=CA Montreal
      - OPENVPN_USERNAME=${OPENVPN_USERNAME}
      - OPENVPN_PASSWORD=${PASSWORD}
      - OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60 --mssfix 1300 #mssfix will hopefully resolve bad packet id errors
      - LOCAL_NETWORK=192.168.120.0/22
      - TRANSMISSION_RATIO_LIMIT_ENABLED=true #was true but trying false and manual monitoring
      - TRANSMISSION_RATIO_LIMIT=5
      - TRANSMISSION_WEB_UI=kettu #sexier UI
      - TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED=false #useful if having issue with pulling down torrent info
      - TRANSMISSION_DHT_ENABLED=false #disallows sharing outside of private tracker
      - TRANSMISSION_PEX_ENABLED=false #similar to above
      - TRANSMISSION_ENCRYPTION=1 #prefer encrypted connections
      - TRANSMISSION_WATCH_DIR_ENABLED=true 
      - TRANSMISSION_WATCH_DIR=/data/watching
      - TRANSMISSION_INCOMPLETE_DIR=/data/incomplete
      - TRANSMISSION_INCOMPLETE_DIR_ENABLED=true 
      - TRANSMISSION_DOWNLOAD_DIR=/data/completed
      - TRANSMISSION_DOWNLOAD_QUEUE_ENABLED=1 #enables download queue to go beyond limit of 5
      - TRANSMISSION_DOWNLOAD_QUEUE_SIZE=50 #increase download queue to 50 assuming
      - TRANSMISSION_QUEUE_STALLED_ENABLED=false #stop downloads pausing when stalled
      - TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED=true #enable script on download completion
      - TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME=/data/unrar #script to run
      - PGID=1000
      - PUID=1000 
    networks:
      web:
        ipv4_address: 172.18.0.5
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.transmission-web.rule=Host(`downloads.kevinsloan.net`)"
      - "traefik.http.routers.transmission-web.entrypoints=web"
      - "traefik.http.routers.transmission-web.middlewares=redirect@file"
      - "traefik.http.routers.transmission-secured.rule=Host(`downloads.kevinsloan.net`)"
      - "traefik.http.routers.transmission-secured.entrypoints=web-secured"
      - "traefik.http.routers.transmission-secured.tls.certresolver=mytlschallenge"
      - "traefik.http.routers.transmission-secured.middlewares=test-auth@file"
      - "traefik.http.services.transmission.loadbalancer.server.port=9091"