compose.yaml.j2 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. services:
  2. {{ service_name }}:
  3. image: docker.io/grafana/alloy:v1.12.0
  4. restart: {{ restart_policy }}
  5. {% if container_hostname %}
  6. hostname: {{ container_hostname }}
  7. {% endif %}
  8. {% if traefik_enabled %}
  9. networks:
  10. {{ traefik_network }}:
  11. {% endif %}
  12. {% if not traefik_enabled %}
  13. ports:
  14. - "{{ ports_webui }}:12345"
  15. {% endif %}
  16. volumes:
  17. - {{ service_name }}_data:/alloy/data
  18. - ./config.alloy:/etc/alloy/config.alloy:ro
  19. {% if logs_enabled or metrics_enabled %}
  20. - /:/rootfs:ro
  21. - /sys:/sys:ro
  22. {% endif %}
  23. {% if logs_enabled and logs_system %}
  24. - /run:/run:ro
  25. - /var/log:/var/log:ro
  26. {% endif %}
  27. {% if (logs_enabled and logs_docker) or (metrics_enabled and metrics_docker) %}
  28. - /var/lib/docker/:/var/lib/docker/:ro
  29. {% endif %}
  30. {% if metrics_enabled and metrics_system %}
  31. - /run/udev/data:/run/udev/data:ro
  32. {% endif %}
  33. {% if traefik_enabled %}
  34. labels:
  35. - traefik.enable=true
  36. - traefik.docker.network={{ traefik_network }}
  37. - traefik.http.services.{{ service_name }}-web.loadBalancer.server.port=12345
  38. - traefik.http.routers.{{ service_name }}-http.service={{ service_name }}-web
  39. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
  40. - traefik.http.routers.{{ service_name }}-http.entrypoints=web
  41. {% if traefik_tls_enabled %}
  42. - traefik.http.routers.{{ service_name }}-https.service={{ service_name }}-web
  43. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
  44. - traefik.http.routers.{{ service_name }}-https.entrypoints=websecure
  45. - traefik.http.routers.{{ service_name }}-https.tls=true
  46. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  47. {% endif %}
  48. {% endif %}
  49. {% if traefik_enabled %}
  50. networks:
  51. {{ traefik_network }}:
  52. external: true
  53. {% endif %}
  54. volumes:
  55. {{ service_name }}_data:
  56. driver: local