compose.yaml.j2 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. services:
  2. {{ service_name }}:
  3. image: docker.io/grafana/grafana-oss:12.1.1
  4. container_name: {{ container_name }}
  5. environment:
  6. - TZ={{ container_timezone }}
  7. {% if ports_enabled %}
  8. ports:
  9. - "{{ ports_http }}:3000"
  10. {% endif %}
  11. volumes:
  12. - grafana-data:/var/lib/grafana
  13. {% if network_enabled or traefik_enabled %}
  14. networks:
  15. {% if network_enabled %}
  16. - {{ network_name }}
  17. {% endif %}
  18. {% if traefik_enabled %}
  19. - {{ traefik_network }}
  20. {% endif %}
  21. {% endif %}
  22. {% if traefik_enabled %}
  23. labels:
  24. - traefik.enable=true
  25. - traefik.docker.network={{ traefik_network }}
  26. - traefik.http.services.{{ service_name }}.loadbalancer.server.port=3000
  27. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
  28. - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
  29. {% if traefik_tls_enabled %}
  30. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
  31. - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
  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. restart: {{ restart_policy }}
  37. volumes:
  38. grafana-data:
  39. driver: local
  40. {% if network_enabled or traefik_enabled %}
  41. networks:
  42. {% if network_enabled %}
  43. {{ network_name }}:
  44. {% if network_external %}
  45. external: true
  46. {% endif %}
  47. {% endif %}
  48. {% if traefik_enabled %}
  49. {{ traefik_network }}:
  50. external: true
  51. {% endif %}
  52. {% endif %}