Запуск Transmission через Traefik с Docker Compose

Transmission — лёгкий torrent-клиент с веб-UI. На домашнем сервере удобно держать его за Traefik (HTTPS + basic auth из образа), а пир-порт пробросить отдельно.

Нужны рабочий Traefik и сеть traefik_network.

1. Каталог

mkdir -p transmission/{data,watch}
# каталог загрузок — свой массив, например /mnt/downloads
cd transmission

2. docker-compose.yml

services:
  transmission:
    image: lscr.io/linuxserver/transmission:4.0.6-r4-ls300
    container_name: transmission
    restart: unless-stopped
    environment:
      PUID: "1000"
      PGID: "1000"
      TZ: Europe/Astrakhan
      USER: (youuser)
      PASS: (youpassword)
    volumes:
      - ./data:/config
      - /mnt/downloads:/downloads
      - ./watch:/watch
    ports:
      - "51413:51413"
      - "51413:51413/udp"
    labels:
      - traefik.enable=true
      - traefik.http.middlewares.transmission_https.redirectscheme.scheme=https
      - traefik.http.routers.transmission.entrypoints=web
      - traefik.http.routers.transmission.middlewares=transmission_https@docker
      - traefik.http.routers.transmission.rule=Host(`transmission.(yourdomain)`)
      - traefik.http.routers.transmission_https.entrypoints=websecure
      - traefik.http.routers.transmission_https.rule=Host(`transmission.(yourdomain)`)
      - traefik.http.routers.transmission_https.tls=true
      - traefik.http.routers.transmission_https.tls.certresolver=le
      - traefik.http.services.transmission.loadbalancer.server.port=9091
    networks:
      - traefik_network

networks:
  traefik_network:
    external: true

⚠️ Замените (yourdomain), (youuser), (youpassword) и путь /mnt/downloads. Веб на 9091 наружу не публикуем — только через Traefik. Порт 51413 tcp/udp нужен для пиров (NAT на роутере при доступе из интернета).

PUID/PGID — владелец каталога загрузок на хосте (id -u / id -g).

3. Запуск

docker compose up -d
curl -sf -o /dev/null -w "%{http_code}\n" https://transmission.(yourdomain)/

Откройте https://transmission.(yourdomain) и войдите логином/паролем из env.

4. Версия и XFS

На части стендов с XFS (noquota) образ ветки 4.1.x при сохранении файла ловит quotactl → Operation not permitted, и новая закачка сразу встаёт. Стабильнее держать 4.0.6 (тег выше), пока это не поправят upstream.

5. Замечания

  • Бэкапьте ./data (настройки, список торрентов). Сами файлы — в /downloads.
  • ./watch — каталог автодобавления .torrent.
  • Веб закрыт USER/PASS образа linuxserver; при желании дополнительно повесьте Authelia.
  • Не открывайте 9091 в NAT — достаточно 80/443 на Traefik + 51413 для пиров.

Итог: загрузки за HTTPS рядом с Jellyfin/Immich на том же Docker + Traefik.