github.com/ddev/ddev@v1.23.2-0.20240519125000-d824ffe36ff3/pkg/ddevapp/router_compose_template.yaml (about) 1 services: 2 ddev-router: 3 image: {{ .router_image }} 4 5 {{ if eq .Router "traefik" }} 6 # Prevent zombie container 7 init: true 8 command: 9 - --configFile=/mnt/ddev-global-cache/traefik/static_config.yaml 10 user: {{ .UID }}:{{ .GID }} 11 {{ end }} 12 13 networks: 14 - ddev_default 15 container_name: ddev-router 16 ports: {{ $dockerIP := .dockerIP }}{{ if not .router_bind_all_interfaces }}{{ range $port := .ports }} 17 - "{{ $dockerIP }}:{{ $port }}:{{ $port }}"{{ end }}{{ else }}{{ range $port := .ports }} 18 - "{{ $port }}:{{ $port }}"{{ end }}{{ end }} 19 {{ if eq .Router "traefik" }} 20 # Traefik router; configured in static config as entrypoint 21 - "{{ if not .router_bind_all_interfaces }}{{ $dockerIP }}:{{ end }}{{.TraefikMonitorPort}}:{{.TraefikMonitorPort}}" 22 {{ end }} 23 labels: 24 # For cleanup on ddev poweroff 25 com.ddev.site-name: "" 26 volumes: 27 {{ if ne .Router "traefik" }} 28 - /var/run/docker.sock:/tmp/docker.sock:ro 29 {{ end }} 30 - ddev-global-cache:/mnt/ddev-global-cache:rw 31 {{ if .letsencrypt }} 32 - ddev-router-letsencrypt:/etc/letsencrypt:rw 33 {{ end }} {{/* end if .letsencrypt */}} 34 environment: 35 - TRAEFIK_MONITOR_PORT={{ .TraefikMonitorPort }} 36 - DISABLE_HTTP2={{ .disable_http2 }} 37 {{ if .letsencrypt }} 38 - LETSENCRYPT_EMAIL={{ .letsencrypt_email }} 39 - USE_LETSENCRYPT={{ .letsencrypt }} 40 {{ end }}{{/* end if .letsencrypt */}} 41 restart: "no" 42 healthcheck: 43 {{ if eq .Router "traefik" }} 44 test: "/healthcheck.sh" 45 {{ end }} 46 interval: 1s 47 retries: 120 48 start_period: 120s 49 timeout: 120s 50 51 networks: 52 ddev_default: 53 name: ddev_default 54 external: true 55 volumes: 56 ddev-global-cache: 57 name: ddev-global-cache 58 external: true 59 {{ if .letsencrypt }} 60 ddev-router-letsencrypt: 61 name: ddev-router-letsencrypt 62 {{ end }}