name: alloy-stack services: alloy: image: grafana/alloy:v1.9.2 container_name: alloy command: - run - --server.http.listen-addr=0.0.0.0:12345 - --storage.path=/var/lib/alloy/data - /etc/alloy/config.alloy ports: - 12345:12345 volumes: - ./config.alloy:/etc/alloy/config.alloy - alloy_data:/var/lib/alloy/data - /:/rootfs:ro - /run:/run:ro - /var/log:/var/log:ro - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker/:ro - /run/udev/data:/run/udev/data:ro restart: unless-stopped grafana: container_name: grafana image: grafana/grafana environment: - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_BASIC_ENABLED=false ports: - 3000:3000/tcp volumes: - ./grafana:/etc/grafana/provisioning extra_hosts: - "host.docker.internal:host-gateway" restart: unless-stopped loki: container_name: loki image: docker.io/grafana/loki command: "-config.file=/etc/loki/config.yaml" ports: - 3100:3100 volumes: - ./loki/config.yaml:/etc/loki/config.yaml:ro - data_loki:/loki:rw restart: unless-stopped prometheus: image: docker.io/prom/prometheus container_name: prometheus ports: - 9090:9090 command: "--config.file=/etc/prometheus/prometheus.yaml --web.enable-remote-write-receiver" volumes: - ./prometheus/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro - prometheus-data:/prometheus restart: unless-stopped volumes: alloy_data: driver: local data_loki: driver: local prometheus-data: driver: local