compose.yaml.j2 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. services:
  2. {{ service_name }}:
  3. image: checkmk/check-mk-raw:2.4.0-{{ monitoring_version }}
  4. container_name: {{ container_name }}
  5. hostname: {{ container_hostname }}
  6. environment:
  7. - TZ={{ container_timezone }}
  8. - CMK_PASSWORD={{ cmk_password }}
  9. - CMK_SITE_ID={{ cmk_site_id }}
  10. tmpfs:
  11. - /opt/omd/sites/{{ cmk_site_id }}/tmp:uid={{ user_uid }},gid={{ user_gid }}
  12. volumes:
  13. - /etc/localtime:/etc/localtime:ro
  14. - data:/omd/sites:rw
  15. {% if network_mode == 'host' %}
  16. network_mode: host
  17. {% else %}
  18. networks:
  19. {% if traefik_enabled %}
  20. {{ traefik_network }}:
  21. {% endif %}
  22. {% if network_mode == 'macvlan' %}
  23. {{ network_name }}:
  24. ipv4_address: {{ network_macvlan_ipv4_address }}
  25. {% elif network_mode == 'bridge' %}
  26. {{ network_name }}:
  27. {% endif %}
  28. {% endif %}
  29. {% if not traefik_enabled and network_mode == 'bridge' %}
  30. ports:
  31. - "{{ ports_http }}:8000"
  32. - "{{ ports_agent }}:5000"
  33. - "{{ ports_snmp }}:162/udp"
  34. {% endif %}
  35. {% if traefik_enabled %}
  36. labels:
  37. - traefik.enable=true
  38. - traefik.docker.network={{ traefik_network }}
  39. - traefik.http.services.{{ service_name }}-web.loadBalancer.server.port=5000
  40. - traefik.http.services.{{ service_name }}-web.loadBalancer.server.scheme=http
  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={{ traefik_entrypoint }}
  44. {% if traefik_tls_enabled %}
  45. - traefik.http.routers.{{ service_name }}-https.service={{ service_name }}-web
  46. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
  47. - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
  48. - traefik.http.routers.{{ service_name }}-https.tls=true
  49. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  50. {% endif %}
  51. {% endif %}
  52. restart: {{ restart_policy }}
  53. volumes:
  54. data:
  55. driver: local
  56. {% if network_mode != 'host' %}
  57. networks:
  58. {{ network_name }}:
  59. {% if network_external %}
  60. external: true
  61. {% else %}
  62. {% if network_mode == 'macvlan' %}
  63. driver: macvlan
  64. driver_opts:
  65. parent: {{ network_macvlan_parent_interface }}
  66. ipam:
  67. config:
  68. - subnet: {{ network_macvlan_subnet }}
  69. gateway: {{ network_macvlan_gateway }}
  70. {% else %}
  71. driver: bridge
  72. {% endif %}
  73. {% endif %}
  74. name: {{ network_name }}
  75. {% if traefik_enabled %}
  76. {{ traefik_network }}:
  77. external: true
  78. {% endif %}
  79. {% endif %}