version: "3.7" services: traefik: image: traefik:2.9.1 command: - --experimental.plugins.sablier.moduleName=github.com/acouvreur/sablier - --experimental.plugins.sablier.version=v1.4.0-beta.3 - --entryPoints.http.address=:80 - --providers.docker=true - --providers.file.filename=/etc/traefik/dynamic-config.yml ports: - "8080:80" volumes: - '/var/run/docker.sock:/var/run/docker.sock' - './dynamic-config.yml:/etc/traefik/dynamic-config.yml' sablier: image: acouvreur/sablier:1.4.0-beta.3 volumes: - '/var/run/docker.sock:/var/run/docker.sock' labels: - traefik.enable=true # Dynamic Middleware - traefik.http.middlewares.dynamic.plugin.sablier.names=sablier-whoami-1 - traefik.http.middlewares.dynamic.plugin.sablier.sablierUrl=http://sablier:10000 - traefik.http.middlewares.dynamic.plugin.sablier.sessionDuration=1m - traefik.http.middlewares.dynamic.plugin.sablier.dynamic.theme=hacker-terminal # Blocking Middleware - traefik.http.middlewares.blocking.plugin.sablier.names=sablier-whoami-1 - traefik.http.middlewares.blocking.plugin.sablier.sablierUrl=http://sablier:10000 - traefik.http.middlewares.blocking.plugin.sablier.sessionDuration=1m - traefik.http.middlewares.blocking.plugin.sablier.blocking.timeout=30s # Group Middleware - traefik.http.middlewares.group.plugin.sablier.group=sablier - traefik.http.middlewares.group.plugin.sablier.sablierUrl=http://sablier:10000 - traefik.http.middlewares.group.plugin.sablier.sessionDuration=1m - traefik.http.middlewares.group.plugin.sablier.blocking.timeout=30s whoami: image: containous/whoami:v1.5.0 # Cannot use labels because as soon as the container is stopped, the labels are not treated by Traefik # The route doesn't exist anymore. Use dynamic-config.yml file instead. # labels: # - traefik.enable # - traefik.http.routers.whoami.rule=PathPrefix(`/whoami`) # - traefik.http.routers.whoami.middlewares=dynamic@docker labels: - sablier.enable=true - sablier.group=whoami