compose.yaml.j2 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. services:
  2. {{ service_name | default('whoami') }}:
  3. image: traefik/whoami
  4. container_name: {{ container_name | default('whoami') }}
  5. {% if swarm_enabled %}
  6. deploy:
  7. replicas: {{ swarm_replicas | default(1) }}
  8. restart_policy:
  9. condition: on-failure
  10. {% endif %}
  11. {% if ports_enabled %}
  12. ports:
  13. - "{{ ports_http | default(8080) }}:80"
  14. - "{{ ports_https | default(8443) }}:443"
  15. {% endif %}
  16. {% if network_enabled %}
  17. networks:
  18. - {{ network_name | default("bridge") }}
  19. {% endif %}
  20. {% if traefik_enabled %}
  21. labels:
  22. - traefik.enable=true
  23. - traefik.http.services.{{ service_name | default("whoami") }}.loadbalancer.server.port=80
  24. - traefik.http.routers.{{ service_name | default("whoami") }}-http.rule=Host(`{{ traefik_host }}`)
  25. - traefik.http.routers.{{ service_name | default("whoami") }}-http.entrypoints={{ traefik_entrypoint | default("web") }}
  26. {% if traefik_tls_enabled %}
  27. - traefik.http.routers.{{ service_name | default("whoami") }}-https.rule=Host(`{{ traefik_host }}`)
  28. - traefik.http.routers.{{ service_name | default("whoami") }}-https.entrypoints={{ traefik_tls_entrypoint | default("websecure") }}
  29. - traefik.http.routers.{{ service_name | default("whoami") }}-https.tls=true
  30. - traefik.http.routers.{{ service_name | default("whoami") }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  31. {% endif %}
  32. {% endif %}
  33. restart: {{ restart_policy | default("unless-stopped") }}
  34. {% if network_enabled %}
  35. networks:
  36. {{ network_name | default("bridge") }}:
  37. {% if network_external %}
  38. external: true
  39. {% endif %}
  40. {% endif %}