version: '3.8' services: error-pages: image: tarampampam/error-pages:latest # Using the latest tag is highly discouraged. Please, use tags in X.Y.Z format environment: TEMPLATE_NAME: app-down networks: - proxy deploy: placement: constraints: - node.role == worker labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - # 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" - # should say that all of your services work on https - "traefik.http.routers.error-pages-router.tls=true" - "traefik.http.routers.error-pages-router.entrypoints=https" - "traefik.http.routers.error-pages-router.middlewares=error-pages-middleware" - "traefik.http.services.error-pages-service.loadbalancer.server.port=8080" - # "errors" middleware settings - "traefik.http.middlewares.error-pages-middleware.errors.status=400-599" - "traefik.http.middlewares.error-pages-middleware.errors.service=error-pages-service" - "traefik.http.middlewares.error-pages-middleware.errors.query=/{status}.html" app: deploy: labels: # next line is important - "traefik.http.routers.${STACK_NAME}.middlewares=error-pages-middleware" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"