compose.yaml.j2 2.1 KB

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