services: reverse-proxy: # The official v3 Traefik docker image image: traefik:v3.2 # Enables the web UI and tells Traefik to listen to docker command: {% if traefik_debug|default(False) -%} - "--log.level=debug" {% endif -%} {% if traefik_insecure|default(False) -%} - "--api.insecure=true" {% endif -%} - "--providers.docker=true" - "--providers.docker.exposedByDefault=false" - "--entryPoints.web.address=:80" - "--entryPoints.websecure.address=:443" {%+ for c in chills +%} {%+ if c.expose_port is not false +%} - "--entryPoints.chill{{ c.chill_environment }}.address=:{{ c.expose_port }}" {% endif +%} {% endfor +%} ports: # The HTTP port - "80:80" - "443:443" # The Web UI (enabled by --api.insecure=true) - "8080:8080" {% for c in chills +%} {% if c.expose_port is not false +%} - "{{ c.expose_port }}:{{ c.expose_port }}" {% endif +%} {%+ endfor +%} volumes: # So that Traefik can listen to the Docker events - /var/run/docker.sock:/var/run/docker.sock - /var/traefik/certs:/var/traefik/certs networks: - traefik networks: traefik: name: traefik driver: bridge ipam: config: - subnet: 172.150.0.0/24