creating new middleware

i’m new to traefik i want to test that before useing in production i publish custom middleware like plugindemo GitHub - mohamadrezamomeni/mamad but when i use it i got time="2025-11-23T18:57:45Z" level=error msg="Plugins are disabled because an error has occurred." error="unable to set up plugins environment: unable to download plugin github.com/mohamadrezamomeni/mamad: error: 404: {"error":"Unknown plugin: github.com/mohamadrezamomeni/mamad@v0.4.0"}"

traefik yaml is api:

dashboard: true

insecure: false

entryPoints:

web:

address: ":80"

dashboard:

address: ":8080"

providers:

docker:

endpoint: "unix:///var/run/docker.sock"

exposedByDefault: false

file:

filename: "/etc/traefik/dynamic.yml"

experimental:

plugins:

example:

  moduleName: github.com/mohamadrezamomeni/mamad

  version: v0.4.0

and dynmic yml is http:

routers:

dashboard:

  entryPoints:

    - dashboard

  rule: Host(\`localhost\`) && (PathPrefix(\`/dashboard\`) || PathPrefix(\`/api\`))

  service: api@internal

  middlewares:

    - my-plugin

middlewares:

my-plugin:

  plugin:

    example:

      headers:

        Foo: Bar

docker compose is

version: "3"

services:

traefik:

image: traefik:v2

container_name: traefik

restart: always

ports:

  - "80:80"

  - "8080:8080"

volumes:

  - /var/run/docker.sock:/var/run/docker.sock:ro

  - ./traefik.yml:/etc/traefik/traefik.yml:ro

  - ./dynamic.yml:/etc/traefik/dynamic.yml:ro # FIXED

  \# - ./plugins:/plugins:ro

environment:

  - TZ=UTC

command:

  - "--log.level=INFO"

whoami:

image: containous/whoami

container_name: whoami

labels:

  - "traefik.enable=true"

  - "traefik.http.routers.whoami.entryPoints=web"

  - "traefik.http.routers.whoami.rule=Host(\`whoami.localhost\`)"

networks:

default:

name: traefik-net

Please format your code using 3 backticks.

this is my repo this is for test why it hasn’t been published :slightly_frowning_face:

Please format your config using 3 backticks.