Is it possible to configure Traefik with docker swarm using only docker-compose.yml?
I have been getting quite confused following various tutorials and examples. This is what I have so far, I can connect to the dashboard but it does not pick up any deployed services:
version: "3.3" services: traefik: image: traefik:v2.6 ports: - 80:80 - 8080:8080 networks: - traefik-net command: - --api.insecure=true - --api.dashboard=true # see https://docs.traefik.io/v2.0/operations/dashboard/#secure-mode for how to secure the dashboard - --api.debug=true # enable additional endpoints for debugging and profiling - --log.level=DEBUG # debug while we get it working, for more levels/info see https://docs.traefik.io/observability/logs/ - --providers.docker=true - --providers.docker.swarmMode=true - --providers.docker.endpoint='unix://var/run/docker.sock' volumes: - /var/run/docker.sock:/var/run/docker.sock deploy: placement: constraints: - node.role == manager networks: traefik-net: driver: overlay
I have a test service (from a tutorial I found), which has this docker-compose.yml
version: "3.3" services: books: image: mlabouardy/books-api networks: - traefik-net deploy: placement: constraints: - node.role == worker labels: - traefik.http.routers.books.rule=PathPrefix('/books') - traefik.http.services.books.loadbalancer.server.port=5000 networks: traefik-net: driver: overlay
Can anyone see what I'm doing wrong here? Any help would be most appreciated.