Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Avoid common Traefik mistakes — router priority, TLS configuration, Docker labels syntax, and middleware ordering.
Avoid common Traefik mistakes — router priority, TLS configuration, Docker labels syntax, and middleware ordering.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Router must have rule AND service — missing either = not working Rule priority: longer rules win by default — explicit priority to override Host() is case-insensitive — Host(\example.com`)` matches Example.com Multiple hosts: Host(\a.com`) || Host(`b.com`)` — OR logic
Labels on container, not compose service level — deploy.labels for Swarm Backticks for rules in Docker Compose — Host(\example.com`)` with escaping Enable per-container: traefik.enable=true — if exposedByDefault=false Service name auto-generated from container — or set explicitly with traefik.http.services.myservice.loadbalancer.server.port=80
EntryPoint websecure needs TLS config — otherwise plain HTTP on 443 Let's Encrypt: certificatesResolvers.myresolver.acme.email required — registration fails without HTTP challenge needs port 80 open — DNS challenge for wildcard or closed 80 tls=true on router activates TLS — tls.certresolver=myresolver for auto-cert Staging ACME for testing — caServer to staging URL, avoids rate limits
Define in static config — --entrypoints.web.address=:80 Redirect HTTP to HTTPS at entrypoint level — cleaner than per-router middleware Router binds to entrypoint with entryPoints=web,websecure — comma-separated list
Chain order matters — first middleware wraps all following Middleware defined once, used by many routers — middlewares=auth,compress Common: stripPrefix, redirectScheme, basicAuth, rateLimit BasicAuth: use htpasswd format — escape $ in Docker Compose with $$
loadbalancer.server.port when container exposes multiple — Traefik can't guess Health check: healthcheck.path=/health — removes unhealthy from rotation Sticky sessions: loadbalancer.sticky.cookie.name=srv_id — for stateful apps
Router without entryPoint — defaults may not be what you expect Forgetting traefik.docker.network with multiple networks — Traefik picks wrong one ACME storage not persisted — certificates regenerated, hits rate limit Dashboard exposed without auth — api.insecure=true is dangerous in production PathPrefix without StripPrefix — backend receives full path, may 404 Services on different ports — each needs explicit port label
watch=true for hot reload — otherwise restart Traefik on changes Can coexist with Docker provider — useful for external services Define routers, services, middlewares in YAML — same concepts as labels
--log.level=DEBUG for troubleshooting — verbose but helpful Dashboard shows routers, services, middlewares — verify configuration --api.insecure=true for local dev only — secure with auth in production
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.