services: drawio: image: {{ drawio_image }} container_name: {{ drawio_service_name }} restart: unless-stopped networks: - {{ drawio_traefik_network }} {% if drawio_extra_hosts is defined and drawio_extra_hosts | length > 0 %} extra_hosts: {% for host in drawio_extra_hosts %} - "{{ host }}" {% endfor %} {% endif %} labels: - traefik.enable=true - traefik.docker.network={{ drawio_traefik_network }} - traefik.http.routers.{{ drawio_service_name }}.rule=Host(`{{ drawio_domain }}`) - traefik.http.services.{{ drawio_service_name }}.loadbalancer.server.port={{ drawio_port }} {% if drawio_use_ssl %} - traefik.http.routers.{{ drawio_service_name }}.entrypoints=websecure - traefik.http.routers.{{ drawio_service_name }}.tls=true {% else %} - traefik.http.routers.{{ drawio_service_name }}.entrypoints=web {% endif %} networks: {{ drawio_traefik_network }}: external: true