UDP Entrypoint created, but router says that it's not exist

Hello.
I'm need to listen both tcp and udp on port 8080
This is my traefik.yml

entryPoints:
  speedtesttcp:
    address: ":8080"
  speedtestudp:
    address: ":8080/udp"

And my application docker-compose.yml file

version: '3.1'
services:
  speedtest-ookla:
    build: .
    restart: always
    volumes:
      - ./OoklaServer.properties:/var/www/OoklaServer.properties
    labels:
      - traefik.enable=true
      - traefik.http.routers.speedtest-ookla.entrypoints=speedtestudp,https,speedtesttcp
      - traefik.http.routers.speedtest-ookla.rule=Host(`HOST`)
      - traefik.http.services.speedtest-ookla.loadbalancer.server.port=8080
      - traefik.http.routers.speedtest-ookla.tls.certresolver=certresolver
      - traefik.http.routers.speedtest-ookla.tls=true
networks:
  default:
    external:
      name: traefik

In dashboard I have errors in router that says "entryPoint "speedtestudp" doesn't exist "
but if you look at the traefik logs, you can see that the entrypoint is being created

traefik_1  | time="2024-03-22T09:04:16Z" level=debug msg="Start UDP Server" entryPointName=speedtestudp
traefik_1  | time="2024-03-22T09:06:52Z" level=error msg="entryPoint \"speedtestudp\" doesn't exist" entryPointName=speedtestudp routerName=speedtest-ookla@docker
traefik_1  | time="2024-03-22T09:06:52Z" level=error msg="entryPoint \"speedtestudp\" doesn't exist" routerName=speedtest-ookla@docker entryPointName=speedtestudp

I think it might be because slashes around entrypoint name, but idk how to fix it.

Share your full Traefik static and dynamic config, and docker-compose.yml if used.

You probably need to setup separate router and service for UDP (doc).

Full traefik.yml config

api: 
  dashboard: true
entryPoints:
  ts: 
    address: ":9987/udp"
  http:
    address: ":80"
    http:
      redirections:
        entryPoint:
          to: https
          scheme: https    
  speedtesttcp:
    address: ":8080"
  speedtestudp:
    address: ":8080/udp"
  stun: 
    address: ":3478"
  aginet: 
    address: ":7547"
  https:
    address: ":443"
providers:
  docker:
    exposedByDefault: false
  file: 
    directory: /etc/traefik/dynamic
    watch: true
certificatesResolvers:
  certresolver:
    acme:
      email: email
      storage: /letsencrypt/acme.json
      httpChallenge:
        entryPoint: http
log:
  level: DEBUG

In dynamic I'm have only one file

http:
  routers:
    api:
      rule: "Host(`host`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"  
      entryPoints:
        - https
   #     - http
      tls:
        certResolver: "certresolver"
      service: api@internal
      middlewares: 
        - "test-ipallowlist"
        - "auth"

I'm also trying add

      - traefik.udp.routers.speedtest-ookla.entrypoints=speedtestudp

in my docker-compose.yml file, but it doesnt help too