404 with sabnzbd docker images, other docker images work fine

I'm having a strange issue attempting to run sabnzbd behind Traefik v2. An extra router is being created for sabnzbd, along with the one I have defined using a label. Attempting to access sabnzbd via the router I have defined causes traefik to return 404. Using the extra router traefik creates works ("sabnzbd-sabnzbd"). I can access the sabnzbd container directly with no issues.

I've simplified my configuration to just traefik v2 and sabnzbd in order to troubleshoot, but haven't been able to solve this.

docker-compose.yml:

version: "3.3"
services:
  traefik:
    container_name: traefik
    image: traefik:latest 
    restart: unless-stopped
    logging:
      driver: json-file
    command:
      - "--log.level=DEBUG"
      - "--log.filePath=/etc/traefik/traefik.log"
      - "--accessLog=/etc/traefik/access.log"
      - "--api.dashboard=true"
      - "--providers.docker=true"
      - "--providers.docker.endpoint=unix:///var/run/docker.sock"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entryPoint.scheme=https"
      - "--entrypoints.web.http.redirections.entryPoint.permanent=true"
    ports:
      - target: 80
        published: 80
        mode: host
      - target: 443
        published: 443
        mode: host
    environment:
      - TZ=America/Vancouver
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/data/traefik:/etc/traefik"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    labels:
      - "traefik.http.routers.my-api.rule=Host(`traefik.slikk.net`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
      - "traefik.http.routers.my-api.tls=true"
      - "traefik.http.routers.my-api.service=api@internal"
  
  sabnzbd:
    container_name: sabnzbd
    image: lscr.io/linuxserver/sabnzbd:latest
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 8080:8080
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Vancouver
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /data/sabnzbd/config:/config
      - /data/media/usenet:/data/usenet:rw
    labels:
      - "traefik.http.routers.sabnzbd.rule=Host(`nzb.slikk.net`)"
      - "traefik.http.routers.sabnbzd.tls=true"

debug log:

time="2022-03-25T12:17:28-07:00" level=info msg="Traefik version 2.6.2 built on 2022-03-24T19:09:46Z"
time="2022-03-25T12:17:28-07:00" level=debug msg="Static configuration loaded {\"global\":{\"checkNewVersion\":true},\"serversTransport\":{\"maxIdleConnsPerHost\":200},\"entryPoints\":{\"web\":{\"address\":\":80\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{\"redirections\":{\"entryPoint\":{\"to\":\"websecure\",\"scheme\":\"https\",\"permanent\":true,\"priority\":2147483646}}},\"udp\":{\"timeout\":\"3s\"}},\"websecure\":{\"address\":\":443\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"udp\":{\"timeout\":\"3s\"}}},\"providers\":{\"providersThrottleDuration\":\"2s\",\"docker\":{\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"exposedByDefault\":true,\"swarmModeRefreshSeconds\":\"15s\"}},\"api\":{\"dashboard\":true},\"log\":{\"level\":\"DEBUG\",\"filePath\":\"/etc/traefik/traefik.log\",\"format\":\"common\"},\"accessLog\":{\"filePath\":\"/etc/traefik/access.log\",\"format\":\"common\",\"filters\":{},\"fields\":{\"defaultMode\":\"keep\",\"headers\":{\"defaultMode\":\"drop\"}}},\"pilot\":{\"dashboard\":true}}"
time="2022-03-25T12:17:28-07:00" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://doc.traefik.io/traefik/contributing/data-collection/\n"
time="2022-03-25T12:17:28-07:00" level=info msg="Starting provider aggregator.ProviderAggregator"
time="2022-03-25T12:17:28-07:00" level=debug msg="Start TCP Server" entryPointName=web
time="2022-03-25T12:17:28-07:00" level=debug msg="Start TCP Server" entryPointName=websecure
time="2022-03-25T12:17:28-07:00" level=info msg="Starting provider *traefik.Provider"
time="2022-03-25T12:17:28-07:00" level=debug msg="*traefik.Provider provider configuration: {}"
time="2022-03-25T12:17:28-07:00" level=debug msg="Configuration received from provider internal: {\"http\":{\"routers\":{\"web-to-websecure\":{\"entryPoints\":[\"web\"],\"middlewares\":[\"redirect-web-to-websecure\"],\"service\":\"noop@internal\",\"rule\":\"HostRegexp(`{host:.+}`)\",\"priority\":2147483646}},\"services\":{\"api\":{},\"dashboard\":{},\"noop\":{}},\"middlewares\":{\"redirect-web-to-websecure\":{\"redirectScheme\":{\"scheme\":\"https\",\"port\":\"443\",\"permanent\":true}}},\"serversTransports\":{\"default\":{\"maxIdleConnsPerHost\":200}}},\"tcp\":{},\"tls\":{}}" providerName=internal
time="2022-03-25T12:17:28-07:00" level=info msg="Starting provider *docker.Provider"
time="2022-03-25T12:17:28-07:00" level=debug msg="*docker.Provider provider configuration: {\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"exposedByDefault\":true,\"swarmModeRefreshSeconds\":\"15s\"}"
time="2022-03-25T12:17:28-07:00" level=info msg="Starting provider *acme.ChallengeTLSALPN"
time="2022-03-25T12:17:28-07:00" level=debug msg="*acme.ChallengeTLSALPN provider configuration: {\"Timeout\":4000000000}"
time="2022-03-25T12:17:28-07:00" level=debug msg="No default certificate, generating one" tlsStoreName=default
time="2022-03-25T12:17:28-07:00" level=debug msg="Provider connection established with docker 20.10.14 (API 1.41)" providerName=docker
time="2022-03-25T12:17:28-07:00" level=debug msg="Configuration received from provider docker: {\"http\":{\"routers\":{\"my-api\":{\"service\":\"api@internal\",\"rule\":\"Host(`traefik.slikk.net`) \\u0026\\u0026 (PathPrefix(`/api`) || PathPrefix(`/dashboard`))\",\"tls\":{}},\"sabnbzd\":{\"service\":\"sabnzbd-sabnzbd\",\"rule\":\"Host(`sabnzbd-sabnzbd`)\",\"tls\":{}},\"sabnzbd\":{\"service\":\"sabnzbd-sabnzbd\",\"rule\":\"Host(`nzb.slikk.net`)\"}},\"services\":{\"sabnzbd-sabnzbd\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.27.0.2:8080\"}],\"passHostHeader\":true}},\"traefik-sabnzbd\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.27.0.3:80\"}],\"passHostHeader\":true}}}},\"tcp\":{},\"udp\":{}}" providerName=docker
time="2022-03-25T12:17:28-07:00" level=debug msg="Added outgoing tracing middleware noop@internal" entryPointName=web routerName=web-to-websecure@internal middlewareType=TracingForwarder middlewareName=tracing
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" middlewareType=RedirectScheme entryPointName=web routerName=web-to-websecure@internal middlewareName=redirect-web-to-websecure@internal
time="2022-03-25T12:17:28-07:00" level=debug msg="Setting up redirection to https 443" entryPointName=web routerName=web-to-websecure@internal middlewareName=redirect-web-to-websecure@internal middlewareType=RedirectScheme
time="2022-03-25T12:17:28-07:00" level=debug msg="Adding tracing to middleware" entryPointName=web routerName=web-to-websecure@internal middlewareName=redirect-web-to-websecure@internal
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" entryPointName=web middlewareName=traefik-internal-recovery middlewareType=Recovery
time="2022-03-25T12:17:28-07:00" level=debug msg="No entryPoint defined for this router, using the default one(s) instead: [web websecure]" routerName=sabnzbd
time="2022-03-25T12:17:28-07:00" level=debug msg="No entryPoint defined for this router, using the default one(s) instead: [web websecure]" routerName=sabnbzd
time="2022-03-25T12:17:28-07:00" level=debug msg="No entryPoint defined for this router, using the default one(s) instead: [web websecure]" routerName=my-api
time="2022-03-25T12:17:28-07:00" level=debug msg="No default certificate, generating one" tlsStoreName=default
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" routerName=sabnzbd@docker serviceName=sabnzbd-sabnzbd middlewareName=pipelining middlewareType=Pipelining entryPointName=websecure
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating load-balancer" entryPointName=websecure routerName=sabnzbd@docker serviceName=sabnzbd-sabnzbd
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating server 0 http://172.27.0.2:8080" entryPointName=websecure routerName=sabnzbd@docker serviceName=sabnzbd-sabnzbd serverName=0
time="2022-03-25T12:17:28-07:00" level=debug msg="child http://172.27.0.2:8080 now UP"
time="2022-03-25T12:17:28-07:00" level=debug msg="Propagating new UP status"
time="2022-03-25T12:17:28-07:00" level=debug msg="Added outgoing tracing middleware sabnzbd-sabnzbd" middlewareType=TracingForwarder routerName=sabnzbd@docker entryPointName=websecure middlewareName=tracing
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" middlewareType=Recovery entryPointName=websecure middlewareName=traefik-internal-recovery
time="2022-03-25T12:17:28-07:00" level=debug msg="Added outgoing tracing middleware noop@internal" entryPointName=web middlewareName=tracing middlewareType=TracingForwarder routerName=web-to-websecure@internal
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" entryPointName=web routerName=web-to-websecure@internal middlewareName=redirect-web-to-websecure@internal middlewareType=RedirectScheme
time="2022-03-25T12:17:28-07:00" level=debug msg="Setting up redirection to https 443" middlewareType=RedirectScheme entryPointName=web routerName=web-to-websecure@internal middlewareName=redirect-web-to-websecure@internal
time="2022-03-25T12:17:28-07:00" level=debug msg="Adding tracing to middleware" middlewareName=redirect-web-to-websecure@internal entryPointName=web routerName=web-to-websecure@internal
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=web
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" routerName=sabnbzd@docker serviceName=sabnzbd-sabnzbd middlewareName=pipelining middlewareType=Pipelining entryPointName=web
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating load-balancer" serviceName=sabnzbd-sabnzbd entryPointName=web routerName=sabnbzd@docker
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating server 0 http://172.27.0.2:8080" routerName=sabnbzd@docker serviceName=sabnzbd-sabnzbd serverName=0 entryPointName=web
time="2022-03-25T12:17:28-07:00" level=debug msg="child http://172.27.0.2:8080 now UP"
time="2022-03-25T12:17:28-07:00" level=debug msg="Propagating new UP status"
time="2022-03-25T12:17:28-07:00" level=debug msg="Added outgoing tracing middleware sabnzbd-sabnzbd" middlewareName=tracing middlewareType=TracingForwarder entryPointName=web routerName=sabnbzd@docker
time="2022-03-25T12:17:28-07:00" level=debug msg="Added outgoing tracing middleware api@internal" middlewareType=TracingForwarder entryPointName=web routerName=my-api@docker middlewareName=tracing
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=web
time="2022-03-25T12:17:28-07:00" level=debug msg="Creating middleware" middlewareType=Recovery middlewareName=traefik-internal-recovery entryPointName=websecure
time="2022-03-25T12:17:28-07:00" level=debug msg="Adding route for sabnzbd-sabnzbd with TLS options default" entryPointName=web
time="2022-03-25T12:17:28-07:00" level=debug msg="Adding route for traefik.slikk.net with TLS options default" entryPointName=web
time="2022-03-25T12:17:28-07:00" level=debug msg="Adding route for sabnzbd-sabnzbd with TLS options default" entryPointName=websecure
time="2022-03-25T12:17:28-07:00" level=debug msg="Adding route for traefik.slikk.net with TLS options default" entryPointName=websecure

It seems to me that no route is being added for nzb.slikk.net, but I cannot determine why.

I have found a workaround: disabling automatic router creation by setting the docker provider defaultRule to empty, and creating my own rule in the dynamic config and pointing it at the automatically created service for the docker container. Then it works -- a route is created for my hostname and the site resolves correctly.

It seems to me that there is a bug in how traefik is creating routers for docker in some cases, but I don't know what triggers it or why.