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 }}