services: alloy: image: grafana/alloy:v1.13.1 ports: - 12345:12345 - 4317:4317 - 4318:4318 volumes: - ./config.alloy:/etc/alloy/config.alloy command: run --server.http.listen-addr=0.0.0.0:12345 --storage.path=/var/lib/alloy/data /etc/alloy/config.alloy depends_on: - loki loki: image: grafana/loki:3.5.10 volumes: - ./loki-config.yaml:/etc/loki/local-config.yaml - loki-data:/loki command: -config.file=/etc/loki/local-config.yaml grafana: image: grafana/grafana:12.3 environment: - GF_FEATURE_TOGGLES_ENABLE=grafanaManagedRecordingRules - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_BASIC_ENABLED=false ports: - 3001:3000/tcp entrypoint: - sh - -euc - | mkdir -p /etc/grafana/provisioning/datasources cat < /etc/grafana/provisioning/datasources/ds.yaml apiVersion: 1 datasources: - name: Loki type: loki access: proxy orgId: 1 url: 'http://loki:3100' basicAuth: false isDefault: true version: 1 editable: true EOF /run.sh volumes: loki-data: