version: "3" services: proxy: image: traefik command: --web --docker --docker.swarmmode --docker.watch --logLevel=DEBUG networks: - webgateway ports: - "80:80" - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock - /dev/null:/traefik.toml deploy: placement: constraints: [node.role == manager] web-dev: image: "slowe/flask-demo-app:1.0" networks: - webgateway ports: - "5000:5000" labels: - "traefik.backend=web-dev" - "traefik.frontend.rule=Host:web-dev.learningtools.local" deploy: replicas: 2 placement: constraints: [node.role == worker] web-prod: image: "slowe/flask-demo-app:1.0" networks: - webgateway ports: - "5001:5001" labels: - "traefik.backend=web-prod" - "traefik.frontend.rule=Host:web-prod.learningtools.local" deploy: replicas: 2 placement: constraints: [node.role == worker] networks: webgateway: driver: overlay