The service errors@docker does not exist

Hi,
I'm sorry if this is covered somewhere, but I could not find information on it anywhere. It's probably just a typo or something on my side, but after looking for an hour, I thought, I might as well post here. I am using Tarampampam's error pages and the logs return the following:

traefik                | time="2023-03-31T14:52:32Z" level=info msg="Configuration loaded from file: /etc/traefik/traefik.yml"
traefik                | time="2023-03-31T14:52:36Z" level=error msg="middleware \"error-pages-middleware@docker\" does not exist" routerName=traefik@docker entryPointName=web
traefik                | time="2023-03-31T14:52:41Z" level=error msg="the service \"errors@docker\" does not exist" entryPointName=web routerName=traefik@docker
traefik                | time="2023-03-31T14:52:41Z" level=error msg="the service \"errors@docker\" does not exist" entryPointName=web routerName=error-pages-router@docker

Lastly, this is my docker-compose.yml file.

version: '3'

services:
  traefik:
    image: "traefik:v2.9.9"
    container_name: "traefik"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./traefik-data:/etc/traefik
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - "DESEC_TOKEN=totallyrealtoken"
    labels:
      traefik.enable: true
      traefik.http.routers.traefik.rule: Host(`traefik.localhost`)
      traefik.http.routers.traefik.service: api@internal
      traefik.http.routers.traefik.entrypoints: web
      traefik.http.routers.traefik.middlewares: error-pages-middleware

  error-pages:
    image: tarampampam/error-pages:2.21.0
    environment:
      TEMPLATE_NAME: ghost # set the error pages template
    labels:
      traefik.enable: true
      # use as "fallback" for any NON-registered services (with priority below normal)
      traefik.http.routers.error-pages-router.rule: HostRegexp(`{host:.+}`)
      traefik.http.routers.error-pages-router.priority: 10
      traefik.http.routers.error-pages-router.entrypoints: web
      traefik.http.routers.error-pages-router.middlewares: error-pages-middleware
      traefik.http.middlewares.error-pages-middleware.errors.status: 400-599
      traefik.http.middlewares.error-pages-middleware.errors.service: errors
      traefik.http.middlewares.error-pages-middleware.errors.query: /{status}.html
      traefik.http.services.error-pages-service.loadbalancer.server.port: 8080
    depends_on:
      - traefik

networks:
  default:
    external: true
    name: traefik

Share your Traefik static and dynamic config.

Dynamic is already there. Static is here:

global:
  checkNewVersion: true
  sendAnonymousUsage: false  # true by default

# (Optional) Log information
# ---
# log:
#  level: ERROR  # DEBUG, INFO, WARNING, ERROR, CRITICAL
#   format: common  # common, json, logfmt
#   filePath: /var/log/traefik/traefik.log

# (Optional) Accesslog
# ---
# accesslog:
  # format: common  # common, json, logfmt
  # filePath: /var/log/traefik/access.log

# (Optional) Enable API and Dashboard
# ---
api:
  dashboard:false  # true by default

# Entry Points configuration
# ---
entryPoints:
  web:
    address: :80
    # (Optional) Redirect to HTTPS
    # ---
    http:
       redirections:
         entryPoint:
           to: websecure
           scheme: https

  websecure:
    address: :443

certificatesResolvers:
   staging:
     acme:
       email: contact@example
       storage: /etc/traefik/acme.json
       caServer: "https://acme-staging-v02.api.letsencrypt.org/directory"
       httpChallenge:
         entryPoint: web

   production:
     acme:
       email: contact@example
       storage: /etc/traefik/acme.json
       caServer: "https://acme-v02.api.letsencrypt.org/directory"
       httpChallenge:
         entryPoint: web
tls:
  options:
    default:
      sniStrict: true

providers:
  docker:
    exposedByDefault: false  # Default is true
  file:
    # watch for dynamic configuration changes
    directory: /etc/traefik
    watch: true

Usually labels use a dash, have you tried that?

version: "3"
services:
  my-container:
    # ...
    labels:
      - traefik.http.routers.my-container.rule=Host(`example.com`)

(Source)

Just tryed that, changes nothing :(.

You use providers.file.directory, are there other (old) config files in the directory?

Nope, only acme.json. Not sure why I put that there, must have been copied from somewhere.