Traefik Dashboard 404 not found - Docker

I have gone through the post but I still encountered this issue. Could you help me have a look? Here is my configuration. I had the same configuaration labels for Grafana and Prometheus, and they worked for me. But the traefik dashboard did not.

traefik:
image: traefik:v2.3.4
command:
- --accesslog=true
- --accesslog.fields.defaultmode=keep
- --accesslog.fields.headers.defaultmode=keep
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --providers.docker
- --providers.docker.swarmMode=true
- --providers.docker.exposedByDefault=false
- --api.dashboard=true
- --certificatesresolvers.leresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
- --certificatesresolvers.leresolver.acme.email=
- --certificatesresolvers.leresolver.acme.storage=/letsencrypt/acme.json
- --certificatesresolvers.leresolver.acme.tlschallenge=true
ports:
- target: 80
published: 80
protocol: tcp
mode: host
- target: 443
published: 443
protocol: tcp
mode: host
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "/home/ubuntu/letsencrypt:/letsencrypt"
labels:
- "traefik.enable=true"
- "traefik.http.routers.http-catchall.rule=HostRegexp({host:.*})"
- "traefik.http.routers.http-catchall.entrypoints=web"
- "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
# expose dashboard
- "traefik.http.routers.t.rule=Host(traefik.ubuntu.domain.org) && (PathPrefix(/api) || PathPrefix(/dashboard`))" # Tell Traefik to create routre 't' and catch all requests with given Host
- "traefik.http.routers.t.tls=true"
- "traefik.http.routers.t.service=api@internal" # the router 't' will forward request to service api@internal
- "traefik.http.routers.t.tls.certresolver=leresolver" # the router 't' will use TLS certresolver called LE
- "traefik.http.routers.t.entrypoints=websecure" # the router 't' should listen on both entrypoints