name: tr-bench
services:
  transmission:
    container_name: transmission
    deploy:
      resources:
        limits:
          memory: "536870912"
    environment:
      HOST_WHITELIST: transmission.bench.local,localhost,127.0.0.1
      PASS: <redacted>
      PEERPORT: "51413"
      PGID: "1000"
      PUID: "1000"
      TZ: Europe/Budapest
      UMASK: "022"
      USER: admin
    healthcheck:
      test:
        - CMD
        - curl
        - -fsS
        - -o
        - /dev/null
        - http://127.0.0.1:9091/transmission/web/
      timeout: 5s
      interval: 30s
      retries: 3
      start_period: 30s
    image: lscr.io/linuxserver/transmission:version-4.1.3-r0
    labels:
      traefik.enable: "true"
      traefik.http.routers.transmission.entrypoints: websecure
      traefik.http.routers.transmission.rule: Host(`transmission.bench.local`)
      traefik.http.routers.transmission.tls: "true"
      traefik.http.routers.transmission.tls.certresolver: letsencrypt
      traefik.http.services.transmission.loadbalancer.server.port: "9091"
    networks:
      traefik-public: null
    restart: unless-stopped
    volumes:
      - type: bind
        source: /opt/tr-bench/userdata/media/transmission
        target: /downloads
        bind:
          create_host_path: true
      - type: volume
        source: transmission_config
        target: /config
        volume: {}
networks:
  traefik-public:
    name: traefik-public
    external: true
volumes:
  transmission_config:
    name: tr-bench_transmission_config
