compose.yaml.j2 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. services:
  2. {{ service_name | default("alloy") }}:
  3. image: grafana/alloy:v1.10.2
  4. container_name: {{ container_name | default("alloy") }}
  5. hostname: {{ container_hostname }}
  6. command:
  7. - run
  8. - --server.http.listen-addr=0.0.0.0:{{ ports_main | default("12345") }}
  9. - --storage.path=/var/lib/alloy/data
  10. - /etc/alloy/config.alloy
  11. {% if ports_enabled %}
  12. ports:
  13. - "{{ ports_main | default("12345") }}:12345"
  14. {% endif %}
  15. volumes:
  16. - ./config/config.alloy:/etc/alloy/config.alloy
  17. - alloy_data:/var/lib/alloy/data
  18. - /:/rootfs:ro
  19. - /run:/run:ro
  20. - /var/log:/var/log:ro
  21. - /sys:/sys:ro
  22. - /var/lib/docker/:/var/lib/docker/:ro
  23. - /run/udev/data:/run/udev/data:ro
  24. {% if network_enabled %}
  25. networks:
  26. - {{ network_name | default("bridge") }}
  27. {% endif %}
  28. {% if traefik_enabled %}
  29. labels:
  30. - traefik.enable=true
  31. - traefik.http.services.{{ service_name | default("alloy") }}.loadbalancer.server.port=12345
  32. - traefik.http.services.{{ service_name | default("alloy") }}.loadbalancer.server.scheme=http
  33. - traefik.http.routers.{{ service_name | default("alloy") }}.service={{ service_name | default("alloy") }}
  34. - traefik.http.routers.{{ service_name | default("alloy") }}.rule=Host(`{{ traefik_host }}`)
  35. {% if traefik_tls_enabled %}
  36. - traefik.http.routers.{{ service_name | default("alloy") }}.tls=true
  37. - traefik.http.routers.{{ service_name | default("alloy") }}.entrypoints={{ traefik_tls_entrypoint | default("websecure") }}
  38. - traefik.http.routers.{{ service_name | default("alloy") }}.tls.certresolver={{ traefik_tls_certresolver }}
  39. {% else %}
  40. - traefik.http.routers.{{ service_name | default("alloy") }}.entrypoints={{ traefik_entrypoint | default("web") }}
  41. {% endif %}
  42. {% endif %}
  43. restart: {{ restart_policy | default("unless-stopped") }}
  44. volumes:
  45. alloy_data:
  46. driver: local
  47. {% if network_enabled %}
  48. networks:
  49. {{ network_name | default("bridge") }}:
  50. {% if network_external %}
  51. external: true
  52. {% endif %}
  53. {% endif %}