compose.yaml.j2 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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.docker.network={{ traefik_network }}
  25. - traefik.http.services.{{ service_name }}.loadbalancer.server.port=80
  26. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
  27. - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
  28. {% if traefik_tls_enabled %}
  29. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
  30. - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
  31. - traefik.http.routers.{{ service_name }}-https.tls=true
  32. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  33. {% endif %}
  34. {% else %}
  35. labels:
  36. - traefik.enable=true
  37. - traefik.docker.network={{ traefik_network }}
  38. - traefik.http.services.{{ service_name }}.loadbalancer.server.port=80
  39. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
  40. - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
  41. {% if traefik_tls_enabled %}
  42. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
  43. - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
  44. - traefik.http.routers.{{ service_name }}-https.tls=true
  45. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  46. {% endif %}
  47. {% endif %}
  48. networks:
  49. - {{ traefik_network }}
  50. networks:
  51. {{ traefik_network }}:
  52. external: true