UDP ports not "listening" for incoming traffic - looking for help with config

I've been trying to get various UDP services to run behind traefik (current using 2.3.5).

I get the feeling I have something missing in my config -- however I cannot find a way to track it down.

Here is my config and logs. Any one have any thoughts?

traefik.yml file

log:
  level: DEBUG
  filePath: /logs/traefik.log
  format: json

accessLog:
  filePath: /logs/access.log
  format: json

entryPoints:
  # Stand Web Access
  web:
    address: :80
    http:
      redirections:
          entryPoint:
            to: websecure
            scheme: https

  websecure:
    address: :443

  # Unifi 
  unifiIn8080tcp:
    address: :8080/tcp

  unifiIn6789tcp:
    address: :6789/tcp

  unifiIn3478udp:
    address: :3478/udp

providers:
  docker:
    watch: true
    endpoint: unix:///var/run/docker.sock
    exposedByDefault: false
    useBindPortIP: true
  file:
    directory: /etc/traefik/dynamic
    watch: true

certificatesResolvers:
  resolver-http:
    # Enable ACME (Let's Encrypt): automatic SSL.
    acme:
      email: "certs@home.local"
      storage: "/letsencrypt/acme-http.json"
      httpChallenge:
        entryPoint: web

  resolver-https:
    # Enable ACME (Let's Encrypt): automatic SSL.
    acme:
      email: "certs@home.local"
      storage: "/letsencrypt/acme-https.json"
      tlsChallenge: {}
version: "3.7"

services:

  unifi-controller:
    image: linuxserver/unifi-controller
    volumes:
      - ./data/unifi-controller:/config:rw 
    networks:
      - network 
    security_opt:
      - no-new-privileges:true
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=network"
          
      # unifi-controller-https: websecure
      - "traefik.http.routers.unifi-controller-https.entrypoints=websecure"
      - "traefik.http.routers.unifi-controller-https.service=unifi-controller-https"
      - "traefik.http.services.unifi-controller-https.loadbalancer.server.port=8443"
      - "traefik.http.routers.unifi-controller-https.priority=100"
      - "traefik.http.routers.unifi-controller-https.rule=Host(`unifi.home.local`)"
      - "traefik.http.services.unifi-controller-https.loadbalancer.server.scheme=https"
      - "traefik.http.routers.unifi-controller-https.tls=true"
      # unifi-controller-unifiIn8080tcp: unifiIn8080tcp
      - "traefik.tcp.routers.unifi-controller-unifiIn8080tcp.entrypoints=unifiIn8080tcp"
      - "traefik.tcp.routers.unifi-controller-unifiIn8080tcp.service=unifi-controller-unifiIn8080tcp"
      - "traefik.tcp.services.unifi-controller-unifiIn8080tcp.loadbalancer.server.port=8080"
      - "traefik.tcp.routers.unifi-controller-unifiIn8080tcp.rule=HostSNI(`*`)"
      # unifi-controller-unifiIn6789tcp: unifiIn6789tcp
      - "traefik.tcp.routers.unifi-controller-unifiIn6789tcp.entrypoints=unifiIn6789tcp"
      - "traefik.tcp.routers.unifi-controller-unifiIn6789tcp.service=unifi-controller-unifiIn6789tcp"
      - "traefik.tcp.services.unifi-controller-unifiIn6789tcp.loadbalancer.server.port=6789"
      - "traefik.tcp.routers.unifi-controller-unifiIn6789tcp.rule=HostSNI(`*`)"
      # unifi-controller-unifiIn3478udp: unifiIn3478udp
      - "traefik.udp.routers.unifi-controller-unifiIn3478udp.entrypoints=unifiIn3478udp"
      - "traefik.udp.routers.unifi-controller-unifiIn3478udp.service=unifi-controller-unifiIn3478udp"
      - "traefik.udp.services.unifi-controller-unifiIn3478udp.loadbalancer.server.port=3478"
    restart: unless-stopped


networks:
  network:
    external: true

See reply for logs

Note: For the heck of it I ran the following and it came back with nothing.

sudo lsof -i -P -n | grep 3478

If I do the same for an tcp port I can see the listen.

And here are the logs

{"level":"info","msg":"Traefik version 2.3.4 built on 2020-11-24T16:16:43Z","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"Static configuration loaded {\"global\":{\"checkNewVersion\":true,\"sendAnonymousUsage\":true},\"serversTransport\":{\"insecureSkipVerify\":true,\"maxIdleConnsPerHost\":200},\"entryPoints\":{\"unifiIn3478udp\":{\"address\":\":3478/udp\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":10000000000},\"respondingTimeouts\":{\"idleTimeout\":180000000000}},\"forwardedHeaders\":{},\"http\":{}},\"unifiIn6789tcp\":{\"address\":\":6789/tcp\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":10000000000},\"respondingTimeouts\":{\"idleTimeout\":180000000000}},\"forwardedHeaders\":{},\"http\":{}},\"unifiIn8080tcp\":{\"address\":\":8080/tcp\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":10000000000},\"respondingTimeouts\":{\"idleTimeout\":180000000000}},\"forwardedHeaders\":{},\"http\":{}},\"web\":{\"address\":\":80\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":10000000000},\"respondingTimeouts\":{\"idleTimeout\":180000000000}},\"forwardedHeaders\":{},\"http\":{\"redirections\":{\"entryPoint\":{\"to\":\"websecure\",\"scheme\":\"https\",\"permanent\":true,\"priority\":2147483647}}}},\"websecure\":{\"address\":\":443\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":10000000000},\"respondingTimeouts\":{\"idleTimeout\":180000000000}},\"forwardedHeaders\":{},\"http\":{}}},\"providers\":{\"providersThrottleDuration\":2000000000,\"docker\":{\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"useBindPortIP\":true,\"swarmModeRefreshSeconds\":15000000000},\"file\":{\"directory\":\"/etc/traefik/dynamic\",\"watch\":true}},\"api\":{\"dashboard\":true},\"log\":{\"level\":\"DEBUG\",\"filePath\":\"/logs/traefik.log\",\"format\":\"json\"},\"accessLog\":{\"filePath\":\"/logs/access.log\",\"format\":\"json\",\"filters\":{},\"fields\":{\"defaultMode\":\"keep\",\"headers\":{\"defaultMode\":\"drop\"}}},\"certificatesResolvers\":{\"resolver-http\":{\"acme\":{\"email\":\"certs@home.local\",\"caServer\":\"https://acme-v02.api.letsencrypt.org/directory\",\"storage\":\"/letsencrypt/acme-http.json\",\"keyType\":\"RSA4096\",\"httpChallenge\":{\"entryPoint\":\"web\"}}},\"resolver-https\":{\"acme\":{\"email\":\"certs@home.local\",\"caServer\":\"https://acme-v02.api.letsencrypt.org/directory\",\"storage\":\"/letsencrypt/acme-https.json\",\"keyType\":\"RSA4096\",\"tlsChallenge\":{}}}},\"pilot\":{\"token\":\"c4457306-7176-4e8d-8dbe-fbdb6e2cfbbd\"}}","time":"2020-12-17T17:21:50Z"}
{"level":"info","msg":"More details on: https://doc.traefik.io/traefik/contributing/data-collection/","time":"2020-12-17T17:21:50Z"}
{"level":"info","msg":"Starting provider aggregator.ProviderAggregator {}","time":"2020-12-17T17:21:50Z"}
{"entryPointName":"web","level":"debug","msg":"Start TCP Server","time":"2020-12-17T17:21:50Z"}
{"entryPointName":"unifiIn3478udp","level":"debug","msg":"Start UDP Server","time":"2020-12-17T17:21:50Z"}
{"entryPointName":"websecure","level":"debug","msg":"Start TCP Server","time":"2020-12-17T17:21:50Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","msg":"Start TCP Server","time":"2020-12-17T17:21:50Z"}
{"level":"info","msg":"Starting provider *file.Provider {\"directory\":\"/etc/traefik/dynamic\",\"watch\":true}","time":"2020-12-17T17:21:50Z"}
{"level":"info","msg":"Starting provider *acme.Provider {\"email\":\"certs@home.local\",\"caServer\":\"https://acme-v02.api.letsencrypt.org/directory\",\"storage\":\"/letsencrypt/acme-http.json\",\"keyType\":\"RSA4096\",\"httpChallenge\":{\"entryPoint\":\"web\"},\"ResolverName\":\"resolver-http\",\"store\":{},\"ChallengeStore\":{}}","time":"2020-12-17T17:21:50Z"}
{"level":"info","msg":"Testing certificate renew...","providerName":"resolver-http.acme","time":"2020-12-17T17:21:50Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","msg":"Start TCP Server","time":"2020-12-17T17:21:50Z"}
{"level":"info","msg":"Starting provider *traefik.Provider {}","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"Configuration received from provider file: {\"http\":{},\"tcp\":{},\"udp\":{},\"tls\":{}}","providerName":"file","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"Configuration received from provider resolver-http.acme: {\"http\":{},\"tls\":{}}","providerName":"resolver-http.acme","time":"2020-12-17T17:21:50Z"}
{"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\":2147483647}},\"services\":{\"api\":{},\"dashboard\":{},\"noop\":{}},\"middlewares\":{\"redirect-web-to-websecure\":{\"redirectScheme\":{\"scheme\":\"https\",\"port\":\"443\",\"permanent\":true}}}},\"tcp\":{},\"tls\":{}}","providerName":"internal","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"Configuration received from provider resolver-https.acme: {\"http\":{},\"tls\":{}}","providerName":"resolver-https.acme","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"No default certificate, generating one","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"Provider connection established with docker 20.10.1 (API 1.41)","providerName":"docker","time":"2020-12-17T17:21:50Z"}
{"container":"traefik-traefik-114abbec480c951f4b6644a7bc9a9605f013efb1ca91fab5e5d0a9728f8d0817","level":"info","msg":"Cannot determine the IP address (got \"0.0.0.0\") for \"/traefik\"'s binding, falling back on its internal IP/Port.","providerName":"docker","serviceName":"traefik-traefik","time":"2020-12-17T17:21:50Z"}
{"container":"traefik-whoami-traefik-eb75492037149ff52e90579106a2f9074064fe39a65afc00e4b0c3cff3400834","level":"info","msg":"Unable to find a binding for container \"/traefik-whoami\", falling back on its internal IP/Port.","providerName":"docker","serviceName":"traefik-whoami","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"Configuration received from provider docker: {\"http\":{\"routers\":{\"traefik-api\":{\"entryPoints\":[\"websecure\"],\"service\":\"api@internal\",\"rule\":\"Host(`traefik.home.local`) \\u0026\\u0026 (PathPrefix(`/api`) || PathPrefix(`/dashboard`))\",\"tls\":{}},\"traefik-whoami\":{\"entryPoints\":[\"websecure\"],\"service\":\"traefik-whoami\",\"rule\":\"Host(`traefik-whoami.home.local`)\",\"priority\":100,\"tls\":{}}},\"services\":{\"traefik-traefik\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.20.0.2:80\"}],\"passHostHeader\":true}},\"traefik-whoami\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.21.0.2:80\"}],\"passHostHeader\":true}}}},\"tcp\":{},\"udp\":{}}","providerName":"docker","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"http: panic serving 172.21.0.1:41878: runtime error: invalid memory address or nil pointer dereference","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"goroutine 62 [running]:","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"net/http.(*conn).serve.func1(0xc0005d4000)","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"\t/usr/local/go/src/net/http/server.go:1801 +0x147","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"panic(0x2ec0f00, 0x54dd080)","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"\t/usr/local/go/src/runtime/panic.go:975 +0x47a","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"crypto/tls.(*Conn).readClientHello(0xc000a8e000, 0xc000068400, 0x0, 0x0)","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"\t/usr/local/go/src/crypto/tls/handshake_server.go:139 +0x93","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"crypto/tls.(*Conn).serverHandshake(0xc000a8e000, 0xc0004b60c0, 0x10)","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"\t/usr/local/go/src/crypto/tls/handshake_server.go:40 +0x45","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"crypto/tls.(*Conn).Handshake(0xc000a8e000, 0x0, 0x0)","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"\t/usr/local/go/src/crypto/tls/conn.go:1362 +0xc9","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"net/http.(*conn).serve(0xc0005d4000, 0x39f5d40, 0xc00062e1b0)","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"\t/usr/local/go/src/net/http/server.go:1817 +0x1a5","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"created by net/http.(*Server).Serve","time":"2020-12-17T17:21:50Z"}
{"level":"debug","msg":"\t/usr/local/go/src/net/http/server.go:2969 +0x36c","time":"2020-12-17T17:21:50Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:51Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:51Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:51Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:51Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:51Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:51Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:51Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:51Z"}
{"level":"debug","msg":"No default certificate, generating one","time":"2020-12-17T17:21:51Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"level":"debug","msg":"No default certificate, generating one","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware noop@internal","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","msg":"Creating middleware","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","msg":"Setting up redirection to https 443","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","msg":"Adding tracing to middleware","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:52Z"}
{"level":"debug","msg":"No default certificate, generating one","time":"2020-12-17T17:21:52Z"}
{"entryPointName":"web","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware noop@internal","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","msg":"Creating middleware","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","msg":"Setting up redirection to https 443","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","msg":"Adding tracing to middleware","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"level":"debug","msg":"No default certificate, generating one","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware noop@internal","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","msg":"Creating middleware","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","msg":"Setting up redirection to https 443","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","msg":"Adding tracing to middleware","routerName":"web-to-websecure@internal","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware api@internal","routerName":"traefik-api@docker","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"pipelining","middlewareType":"Pipelining","msg":"Creating middleware","routerName":"traefik-whoami@docker","serviceName":"traefik-whoami","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-service","middlewareType":"Metrics","msg":"Creating middleware","routerName":"traefik-whoami@docker","serviceName":"traefik-whoami","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","msg":"Creating load-balancer","routerName":"traefik-whoami@docker","serviceName":"traefik-whoami","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","msg":"Creating server 0 http://172.21.0.2:80","routerName":"traefik-whoami@docker","serverName":0,"serviceName":"traefik-whoami","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware traefik-whoami","routerName":"traefik-whoami@docker","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:21:53Z"}
{"level":"debug","msg":"Provider event received {Status:start ID:a91ef1da5e7fc06b4181eeac729bd625f2a4c0678ec8001f3eef0a52c799583f From:linuxserver/unifi-controller Type:container Action:start Actor:{ID:a91ef1da5e7fc06b4181eeac729bd625f2a4c0678ec8001f3eef0a52c799583f Attributes:map[build_version:Enhanced Linuxserver.io version- latest Build-date:  com.centurylinklabs.watchtower.enable:true com.docker.compose.config-hash:a7afe73f5679473d6090343ed7baea375d04aac7d3bd0b47ed70d228b9ef814f com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:unifi-controller com.docker.compose.project.config_files:docker-compose.yml com.docker.compose.project.working_dir:/home/ravensorb/source/docker-apps-source/containers/network/unifi-controller com.docker.compose.service:unifi-controller com.docker.compose.version:1.25.0 image:linuxserver/unifi-controller maintainer:linuxserver name:unifi-controller traefik.docker.network:network traefik.enable:true traefik.http.routers.unifi-controller-https.entrypoints:websecure traefik.http.routers.unifi-controller-https.priority:100 traefik.http.routers.unifi-controller-https.rule:Host(`unifi-controller.home.local`) traefik.http.routers.unifi-controller-https.service:unifi-controller-https traefik.http.routers.unifi-controller-https.tls:true traefik.http.services.unifi-controller-https.loadbalancer.server.port:8443 traefik.http.services.unifi-controller-https.loadbalancer.server.scheme:https traefik.tcp.routers.unifi-controller-unifiIn6789tcp.entrypoints:unifiIn6789tcp traefik.tcp.routers.unifi-controller-unifiIn6789tcp.rule:HostSNI(`*`) traefik.tcp.routers.unifi-controller-unifiIn6789tcp.service:unifi-controller-unifiIn6789tcp traefik.tcp.routers.unifi-controller-unifiIn8080tcp.entrypoints:unifiIn8080tcp traefik.tcp.routers.unifi-controller-unifiIn8080tcp.rule:HostSNI(`*`) traefik.tcp.routers.unifi-controller-unifiIn8080tcp.service:unifi-controller-unifiIn8080tcp traefik.tcp.services.unifi-controller-unifiIn6789tcp.loadbalancer.server.port:6789 traefik.tcp.services.unifi-controller-unifiIn8080tcp.loadbalancer.server.port:8080 traefik.udp.routers.unifi-controller-unifiIn3478udp.entrypoints:unifiIn3478udp traefik.udp.routers.unifi-controller-unifiIn3478udp.service:unifi-controller-unifiIn3478udp traefik.udp.services.unifi-controller-unifiIn3478udp.loadbalancer.server.port:3478]} Scope:local Time:1608225738 TimeNano:1608225738314490059}","providerName":"docker","time":"2020-12-17T17:22:18Z"}
{"container":"traefik-traefik-114abbec480c951f4b6644a7bc9a9605f013efb1ca91fab5e5d0a9728f8d0817","level":"info","msg":"Cannot determine the IP address (got \"0.0.0.0\") for \"/traefik\"'s binding, falling back on its internal IP/Port.","providerName":"docker","serviceName":"traefik-traefik","time":"2020-12-17T17:22:18Z"}
{"container":"traefik-whoami-traefik-eb75492037149ff52e90579106a2f9074064fe39a65afc00e4b0c3cff3400834","level":"info","msg":"Unable to find a binding for container \"/traefik-whoami\", falling back on its internal IP/Port.","providerName":"docker","serviceName":"traefik-whoami","time":"2020-12-17T17:22:18Z"}
{"level":"debug","msg":"Configuration received from provider docker: {\"http\":{\"routers\":{\"traefik-api\":{\"entryPoints\":[\"websecure\"],\"service\":\"api@internal\",\"rule\":\"Host(`traefik.home.local`) \\u0026\\u0026 (PathPrefix(`/api`) || PathPrefix(`/dashboard`))\",\"tls\":{}},\"traefik-whoami\":{\"entryPoints\":[\"websecure\"],\"service\":\"traefik-whoami\",\"rule\":\"Host(`traefik-whoami.home.local`)\",\"priority\":100,\"tls\":{}},\"unifi-controller-https\":{\"entryPoints\":[\"websecure\"],\"service\":\"unifi-controller-https\",\"rule\":\"Host(`unifi-controller.home.local`)\",\"priority\":100,\"tls\":{}}},\"services\":{\"traefik-traefik\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.21.0.3:80\"}],\"passHostHeader\":true}},\"traefik-whoami\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.21.0.2:80\"}],\"passHostHeader\":true}},\"unifi-controller-https\":{\"loadBalancer\":{\"servers\":[{\"url\":\"https://172.19.0.3:8443\"}],\"passHostHeader\":true}}}},\"tcp\":{\"routers\":{\"unifi-controller-unifiIn6789tcp\":{\"entryPoints\":[\"unifiIn6789tcp\"],\"service\":\"unifi-controller-unifiIn6789tcp\",\"rule\":\"HostSNI(`*`)\"},\"unifi-controller-unifiIn8080tcp\":{\"entryPoints\":[\"unifiIn8080tcp\"],\"service\":\"unifi-controller-unifiIn8080tcp\",\"rule\":\"HostSNI(`*`)\"}},\"services\":{\"unifi-controller-unifiIn6789tcp\":{\"loadBalancer\":{\"terminationDelay\":100,\"servers\":[{\"address\":\"172.19.0.3:6789\"}]}},\"unifi-controller-unifiIn8080tcp\":{\"loadBalancer\":{\"terminationDelay\":100,\"servers\":[{\"address\":\"172.19.0.3:8080\"}]}}}},\"udp\":{\"routers\":{\"unifi-controller-unifiIn3478udp\":{\"entryPoints\":[\"unifiIn3478udp\"],\"service\":\"unifi-controller-unifiIn3478udp\"}},\"services\":{\"unifi-controller-unifiIn3478udp\":{\"loadBalancer\":{\"servers\":[{\"address\":\"172.19.0.3:3478\"}]}}}}}","providerName":"docker","time":"2020-12-17T17:22:18Z"}
{"level":"debug","msg":"No default certificate, generating one","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"web","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware noop@internal","routerName":"web-to-websecure@internal","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","msg":"Creating middleware","routerName":"web-to-websecure@internal","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","msg":"Setting up redirection to https 443","routerName":"web-to-websecure@internal","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"web","level":"debug","middlewareName":"redirect-web-to-websecure@internal","msg":"Adding tracing to middleware","routerName":"web-to-websecure@internal","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"web","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"pipelining","middlewareType":"Pipelining","msg":"Creating middleware","routerName":"unifi-controller-https@docker","serviceName":"unifi-controller-https","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-service","middlewareType":"Metrics","msg":"Creating middleware","routerName":"unifi-controller-https@docker","serviceName":"unifi-controller-https","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","msg":"Creating load-balancer","routerName":"unifi-controller-https@docker","serviceName":"unifi-controller-https","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","msg":"Creating server 0 https://172.19.0.3:8443","routerName":"unifi-controller-https@docker","serverName":0,"serviceName":"unifi-controller-https","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware unifi-controller-https","routerName":"unifi-controller-https@docker","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware api@internal","routerName":"traefik-api@docker","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"pipelining","middlewareType":"Pipelining","msg":"Creating middleware","routerName":"traefik-whoami@docker","serviceName":"traefik-whoami","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-service","middlewareType":"Metrics","msg":"Creating middleware","routerName":"traefik-whoami@docker","serviceName":"traefik-whoami","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","msg":"Creating load-balancer","routerName":"traefik-whoami@docker","serviceName":"traefik-whoami","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","msg":"Creating server 0 http://172.21.0.2:80","routerName":"traefik-whoami@docker","serverName":0,"serviceName":"traefik-whoami","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware traefik-whoami","routerName":"traefik-whoami@docker","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"web","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"websecure","level":"debug","middlewareName":"metrics-entrypoint","middlewareType":"Metrics","msg":"Creating middleware","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","msg":"Creating TCP server 0 at 172.19.0.3:6789","routerName":"unifi-controller-unifiIn6789tcp@docker","serverName":0,"serviceName":"unifi-controller-unifiIn6789tcp","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn6789tcp","level":"debug","msg":"Adding route * on TCP","routerName":"unifi-controller-unifiIn6789tcp@docker","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","msg":"Creating TCP server 0 at 172.19.0.3:8080","routerName":"unifi-controller-unifiIn8080tcp@docker","serverName":0,"serviceName":"unifi-controller-unifiIn8080tcp","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn8080tcp","level":"debug","msg":"Adding route * on TCP","routerName":"unifi-controller-unifiIn8080tcp@docker","time":"2020-12-17T17:22:18Z"}
{"entryPointName":"unifiIn3478udp","level":"debug","msg":"Creating UDP server 0 at 172.19.0.3:3478","routerName":"unifi-controller-unifiIn3478udp@docker","serverName":0,"serviceName":"unifi-controller-unifiIn3478udp","time":"2020-12-17T17:22:18Z"}

You should compare your config with this one for teamspeak with UDP port 9987 :

Looking at it -- they seem to match For teamspeak udp there is

"traefik.udp.routers.teamspeak.entrypoints=teamspeak"
"traefik.udp.services.teamspeak.loadbalancer.server.port=9987"

and fir unifi

- "traefik.udp.routers.unifi-controller-unifiIn3478udp.entrypoints=unifiIn3478udp"
- "traefik.udp.routers.unifi-controller-unifiIn3478udp.service=unifi-controller-unifiIn3478udp"
- "traefik.udp.services.unifi-controller-unifiIn3478udp.loadbalancer.server.port=3478"

The difference here is the explicit mapping of the service from the router which should not matter -- correct?

So that leaves only the "PORT" command on the traefik service in the compose file. Do I need to explicitly define each port there (as well as in the traefik config)? Note: I am trying that now. If this indeed fixes it, seams like traeifk could be changed then to read the ports opened for it to help simplify the conflagration under docker? Also, why does the tcp ports work and not the udp -- seems inconsistent?

Yes you need to define all PORT you'll redirect with traefik in docker-compose file and traefik.yml file, see my config :

#docker-compose.yml
version: "3.2"

networks:
  traefik:
    external:
      name: traefik

services:
  traefik:
    image: traefik:chevrotin
    container_name: traefik
    volumes:
      - /opt/docker/traefikV2/acme.json:/etc/traefik/acme.json
      - /opt/docker/traefikV2/traefik.yml:/etc/traefik/traefik.yml
      - /opt/docker/traefikV2/certs:/etc/traefik/certs
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /opt/docker/traefikV2/conf:/etc/traefik/conf
    ports:
      - 80:80
      - 443:443
      - 9987:9987/udp
      - 25565:25565/tcp
    networks:
      - traefik
    restart: always

# traefik.yml
global:
  checkNewVersion: false
  sendAnonymousUsage: false

providers:
  file:
    directory: /etc/traefik/conf/
    watch: true

api:
  insecure: false
  dashboard: true

log:
  level: INFO
  filePath: /etc/traefik/traefik.log

accessLog: true

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"
  ts3:
    address: ":9987/udp"
  mc:
    address: ":25565/tcp"

I don't really know, I always opened PORT that way, I nether try to setup a redirect from traefik without specifiy the port in compose file and traefik.yml files...

Does it fix your problem ?

It seems to (although now my secure dashboard access is broken -- probably a different issue).

Interestingly enough -- I can open any TCP port via a router in traefik and it works without needing to explicitly add it to the list of ports in the compose file. It seems that UDP does not work the same way though.

Thanks for the help!

1 Like