# Dashboard return 404

**URL:** <https://community.traefik.io/t/dashboard-return-404/3200>\
**Category:** Traefik v2\
**Tags:** dashboard-api\
**Created:** [November 28, 2019, 11:16am UTC](https://community.traefik.io/t/dashboard-return-404/3200 "2019-11-28T11:16:30Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![zyh94946](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/zyh94946/32/1185_2.png) [@zyh94946](https://community.traefik.io/u/zyh94946)\
**Post date:** [November 28, 2019, 11:16am UTC](https://community.traefik.io/t/dashboard-return-404/3200/1 "2019-11-28T11:16:30Z")

</div>

My traefik version:

```auto
Version: 2.1.0-rc2
Codename: cantal
Go version: go1.13.4
Built: 2019-11-15T19:43:27Z
OS/Arch: linux/amd64

```

traefik.toml:

```auto
[global]
checkNewVersion = true
sendAnonymousUsage = false

[api]
debug = false
dashboard = true

[log]
  filePath = "/data/logs/traefik/traefik.log"
  level = "INFO"
  format = "json"
[accessLog]
  filePath = "/data/logs/traefik/access.log"

[http.routers.my-api]
  rule = "Host(`traefik.test.com`)"
  entrypoints = ["web", "web-secure"]
  service = "api@internal"
  middlewares = ["auth"]

[http.middlewares.auth.basicAuth]
  users = [
    "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/",
  ]

[entryPoints]
  [entryPoints.web]
    address = ":80"
  [entryPoints.web-secure]
    address = ":443"

[providers.docker]

```

And i run this command.

```auto
$ traefik -c traefik.toml

```

Why does it return 404 and where is it wrong？

```auto
$ curl http://traefik.test.com/dashboard/
404 page not found

```

Can anyone help, thanks very much.

---

<div class="post-metadata">

**Author:** ![dduportal](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/dduportal/32/4_2.png) [@dduportal](https://community.traefik.io/u/dduportal)\
**Post date:** [November 28, 2019, 2:15pm UTC](https://community.traefik.io/t/dashboard-return-404/3200/2 "2019-11-28T14:15:03Z")

</div>

Hi @zyh94946, in Traefik v2 , the static and dynamic configuration are separated, as explained in the documentation: [https://docs.traefik.io/v2.0/getting-started/configuration-overview/](https://docs.traefik.io/v2.0/getting-started/configuration-overview/) .

The HTTP Routers and middlewares, for instance, are object only picked in the dynamic configuration (as per their respective documentation [https://docs.traefik.io/v2.0/routing/routers/](https://docs.traefik.io/v2.0/routing/routers/) and [https://docs.traefik.io/v2.0/middlewares/overview/](https://docs.traefik.io/v2.0/middlewares/overview/) ).

In order to configure HTTP routers and middleware, you must enable the "file provider" (ref. [https://docs.traefik.io/v2.0/providers/file/](https://docs.traefik.io/v2.0/providers/file/)) and point it to the TOML (or yaml) file containing the configuration.

Try to change:

```auto
[providers.docker]

```

by

```auto
[providers]
  [providers.docker]
  [providers.file]
    filename = "traefik.toml"

```

---

<div class="post-metadata">

**Author:** ![zyh94946](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/zyh94946/32/1185_2.png) [@zyh94946](https://community.traefik.io/u/zyh94946)\
**Post date:** [November 29, 2019, 2:18am UTC](https://community.traefik.io/t/dashboard-return-404/3200/3 "2019-11-29T02:18:55Z")

</div>

Thanks for your reply, this is my mistake, I go and look the documentation. 🙂

---

<div class="post-metadata">

**Author:** ![dduportal](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/dduportal/32/4_2.png) [@dduportal](https://community.traefik.io/u/dduportal)\
**Post date:** [November 29, 2019, 8:01am UTC](https://community.traefik.io/t/dashboard-return-404/3200/4 "2019-11-29T08:01:23Z")

</div>

Hi @zyh94946 do not worry, it was not a mistake. I put the documentation links only to help you to learn on this complicate topic 🙂 Have fun with Traefik!

---

<div class="post-metadata">

**Author:** ![zyh94946](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/zyh94946/32/1185_2.png) [@zyh94946](https://community.traefik.io/u/zyh94946)\
**Post date:** [November 29, 2019, 8:06am UTC](https://community.traefik.io/t/dashboard-return-404/3200/5 "2019-11-29T08:06:04Z")

</div>

Thank you for solving my question 😄

---

<div class="post-metadata">

**Author:** ![cwilby](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/cwilby/32/1460_2.png) [@cwilby](https://community.traefik.io/u/cwilby)\
**Post date:** [January 18, 2020, 8:04am UTC](https://community.traefik.io/t/dashboard-return-404/3200/6 "2020-01-18T08:04:56Z")

</div>

Hey @dduportal, does this advice apply to dynamic configuration with Docker labels? More generally - are dynamic config files and Docker labels the same thing?

---

<div class="post-metadata">

**Author:** ![ldez](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/ldez/32/5_2.png) [@ldez](https://community.traefik.io/u/ldez)\
**Post date:** [January 18, 2020, 11:23am UTC](https://community.traefik.io/t/dashboard-return-404/3200/7 "2020-01-18T11:23:24Z")

</div>

> Traefik gets its _dynamic configuration_ from [providers](https://docs.traefik.io/v2.1/providers/overview/): whether an orchestrator, a service registry, or a plain old configuration file.

> **[Traefik Configuration Documentation - Traefik](https://doc.traefik.io/traefik/v2.1/getting-started/configuration-overview/)**
>
> Get started with Traefik Proxy. This page will introduce you to the dynamic routing and startup configurations. Read the technical documentation.

The dynamic configuration sources can be:

- a file
- the labels from Docker
- an Ingress file
- anf IngressRoute file
- ...
