compose.yaml.j2 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. ---
  2. services:
  3. {{ service_name }}:
  4. image: traefik/whoami:v1.11.0
  5. {% if not swarm_enabled %}
  6. restart: {{ restart_policy }}
  7. {% endif %}
  8. {% if swarm_enabled or resources_enabled %}
  9. deploy:
  10. {% if swarm_enabled %}
  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.docker.network={{ traefik_network }}
  25. - traefik.http.services.{{ service_name }}-web.loadbalancer.server.port=80
  26. - traefik.http.routers.{{ service_name }}-http.service={{ service_name }}-web
  27. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
  28. - traefik.http.routers.{{ service_name }}-http.entrypoints=web
  29. {% if traefik_tls_enabled %}
  30. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
  31. - traefik.http.routers.{{ service_name }}-https.entrypoints=websecure
  32. - traefik.http.routers.{{ service_name }}-https.tls=true
  33. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  34. {% endif %}
  35. {% endif %}
  36. {% else %}
  37. labels:
  38. - traefik.enable=true
  39. - traefik.docker.network={{ traefik_network }}
  40. - traefik.http.services.{{ service_name }}-web.loadbalancer.server.port=80
  41. - traefik.http.routers.{{ service_name }}-http.service={{ service_name }}-web
  42. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
  43. - traefik.http.routers.{{ service_name }}-http.entrypoints=web
  44. {% if traefik_tls_enabled %}
  45. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
  46. - traefik.http.routers.{{ service_name }}-https.entrypoints=websecure
  47. - traefik.http.routers.{{ service_name }}-https.tls=true
  48. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  49. {% endif %}
  50. {% endif %}
  51. networks:
  52. - {{ traefik_network }}
  53. networks:
  54. {{ traefik_network }}:
  55. external: true