79 lines
3.5 KiB
YAML
79 lines
3.5 KiB
YAML
services:
|
|
transmission-vpn:
|
|
image: haugene/transmission-openvpn:5.3.1
|
|
container_name: transmission-vpn
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun
|
|
dns:
|
|
- ${DNS_IP}
|
|
environment:
|
|
- PUID=${TRANSMISSION_PUID-1000}
|
|
- PGID=${TRANSMISSION_PGID-1000}
|
|
- TZ=${TZ-Europe/Paris}
|
|
- USER=${TRANSMISSION_USERNAME}
|
|
- PASS=${TRANSMISSION_PASSWORD}
|
|
- OPENVPN_PROVIDER=${TRANSMISSION_OVPN_PROVIDER-NORDVPN}
|
|
- OPENVPN_CONFIG=${TRANSMISSION_OVPN_CONFIG}
|
|
- OPENVPN_USERNAME=${TRANSMISSION_OVPN_USERNAME}
|
|
- OPENVPN_PASSWORD=${TRANSMISSION_OVPN_PASSWORD}
|
|
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60 --pull-filter ignore ping
|
|
- LOCAL_NETWORK=${TRANSMISSION_OVPN_LOCAL_NETWORK-10.0.0.0/8,172.16.0.0/12,192.168.0.0/16}
|
|
- TRANSMISSION_WEB_UI=${TRANSMISSION_WEBUI}
|
|
- LOG_TO_STDOUT=true
|
|
- GLOBAL_APPLY_PERMISSIONS=false
|
|
- CREATE_TUN_DEVICE=${TRANSMISSION_CREATE_TUN_DEVICE-false}
|
|
- PEER_DNS=${TRANSMISSION_PEER_DNS-false}
|
|
- TRANSMISSION_DOWNLOAD_DIR=/media/torrents/complete
|
|
- TRANSMISSION_INCOMPLETE_DIR_ENABLED=true
|
|
- TRANSMISSION_INCOMPLETE_DIR=/media/torrents/incomplete
|
|
- TRANSMISSION_PREALLOCATION=1
|
|
- TRANSMISSION_DHT_ENABLED=${TRANSMISSION_DHT_ENABLED-false}
|
|
- TRANSMISSION_LPD_ENABLED=${TRANSMISSION_LPD_ENABLED-false}
|
|
- TRANSMISSION_PEX_ENABLED=${TRANSMISSION_PEX_ENABLED-false}
|
|
- TRANSMISSION_BLOCKLIST_ENABLED=${TRANSMISSION_BLOCKLIST_ENABLED-true}
|
|
- TRANSMISSION_BLOCKLIST_URL=${TRANSMISSION_BLOCKLIST_URL-http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz}
|
|
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/config:/config
|
|
- ${APP_DATA_DIR}/data/custom:/etc/openvpn/custom
|
|
- ${ROOT_FOLDER_HOST}/media/torrents:/media/torrents
|
|
ports:
|
|
- ${APP_PORT}:9091
|
|
restart: unless-stopped
|
|
networks:
|
|
- tipi_main_network
|
|
sysctls :
|
|
- net.ipv6.conf.all.disable_ipv6=0
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 10m
|
|
labels:
|
|
# Main
|
|
traefik.enable: true
|
|
traefik.http.middlewares.transmission-web-redirect.redirectscheme.scheme: https
|
|
traefik.http.services.transmission.loadbalancer.server.scheme: http
|
|
traefik.http.services.transmission.loadbalancer.server.port: 9091
|
|
# Web
|
|
traefik.http.routers.transmission-insecure.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.transmission-insecure.entrypoints: web
|
|
traefik.http.routers.transmission-insecure.service: transmission
|
|
traefik.http.routers.transmission-insecure.middlewares: transmission-web-redirect
|
|
# Websecure
|
|
traefik.http.routers.transmission.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.transmission.entrypoints: websecure
|
|
traefik.http.routers.transmission.service: transmission
|
|
traefik.http.routers.transmission.tls.certresolver: myresolver
|
|
# Local domain
|
|
traefik.http.routers.transmission-local-insecure.rule: Host(`transmission.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.transmission-local-insecure.entrypoints: web
|
|
traefik.http.routers.transmission-local-insecure.service: transmission
|
|
traefik.http.routers.transmission-local-insecure.middlewares: transmission-web-redirect
|
|
# Local domain secure
|
|
traefik.http.routers.transmission-local.rule: Host(`transmission.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.transmission-local.entrypoints: websecure
|
|
traefik.http.routers.transmission-local.service: transmission
|
|
traefik.http.routers.transmission-local.tls: true
|