compose.yaml.j2 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. services:
  2. {{ service_name }}:
  3. image: traefik/whoami:v1.11.0
  4. {% if not swarm_enabled %}
  5. container_name: {{ container_name }}
  6. restart: {{ restart_policy }}
  7. {% endif %}
  8. hostname: {{ container_hostname }}
  9. {% if swarm_enabled %}
  10. deploy:
  11. mode: {{ swarm_placement_mode }}
  12. {% if swarm_placement_mode == "replicated" %}
  13. replicas: {{ swarm_replicas }}
  14. {% endif %}
  15. {% if swarm_placement_host %}
  16. placement:
  17. constraints:
  18. - node.hostname == {{ swarm_placement_host }}
  19. {% endif %}
  20. restart_policy:
  21. condition: on-failure
  22. labels:
  23. - traefik.enable=true
  24. - traefik.http.services.{{ service_name }}.loadbalancer.server.port=80
  25. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
  26. - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
  27. {% if traefik_tls_enabled %}
  28. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
  29. - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
  30. - traefik.http.routers.{{ service_name }}-https.tls=true
  31. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  32. {% endif %}
  33. {% else %}
  34. labels:
  35. - traefik.enable=true
  36. - traefik.http.services.{{ service_name }}.loadbalancer.server.port=80
  37. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
  38. - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
  39. {% if traefik_tls_enabled %}
  40. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
  41. - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
  42. - traefik.http.routers.{{ service_name }}-https.tls=true
  43. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  44. {% endif %}
  45. {% endif %}
  46. networks:
  47. - {{ traefik_network }}
  48. networks:
  49. {{ traefik_network }}:
  50. external: true