version: "3.3" services: {% for site in static_sites %} {{ site.domain }}: image: {{ sws_container_image }} container_name: "{{ site.domain }}" restart: unless-stopped environment: # Note: those envs are customizable but also optional - SERVER_PORT=8080 - SERVER_ROOT=/public - SERVER_LOG_LEVEL=info volumes: - {{ static_site_server_base_path }}/{{ site.user }}/{{ site.domain }}:/public labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.http.routers.{{ site.slug }}.rule=Host(`{{ site.domain }}`)" - "traefik.http.routers.{{ site.slug }}.service={{ site.slug }}-service" - "traefik.http.routers.{{ site.slug }}.entrypoints=web-secure" - "traefik.http.routers.{{ site.slug }}.tls=true" - "traefik.http.routers.{{ site.slug }}.tls.certResolver=default" - "traefik.http.services.{{ site.slug }}-service.loadbalancer.server.port=8080" networks: - traefik {% endfor %} networks: traefik: name: "{{ traefik_docker_network }}" external: true