services: traefik: image: traefik:latest container_name: traefik command: - "--providers.docker=true" security_opt: - no-new-privileges:true ports: - "80:80" - "443:443" environment: - CF_DNS_API_TOKEN=${CF_DNS_API_TOKEN} volumes: - /var/run/docker.sock:/var/run/docker.sock - ./traefik.yaml:/etc/traefik/traefik.yaml:ro - /srv/docker/traefik:/var/traefik/certs/:rw - traefik-logs:/var/log/traefik labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.http.routers.external.rule=Host(`external.yourdomain.com`)" - "traefik.http.routers.external.entrypoints=websecure" - "traefik.http.routers.external.tls=true" - "traefik.http.routers.external.middlewares=bouncer@swarm,realip@swarm" - "traefik.http.services.external.loadbalancer.server.port=80" - "traefik.constraint=proxy-public" networks: - traefik restart: unless-stopped networks: traefik: name: traefik_network driver: bridge volumes: traefik-logs: