version: "3.8" services: prometheus: image: prom/prometheus:v2.49.1 command: - "--config.file=/etc/prometheus/prometheus.yml" volumes: - ./prometheus:/etc/prometheus:ro ports: - "9090:9090" loki: image: grafana/loki:2.8.3 command: - "-config.file=/etc/loki/loki.yaml" volumes: - ./loki:/etc/loki:ro - loki-data:/loki ports: - "3100:3100" tempo: image: grafana/tempo:2.3.1 command: - "-config.file=/etc/tempo/tempo.yaml" volumes: - ./tempo:/etc/tempo:ro - tempo-data:/var/tempo ports: - "3200:3200" - "4328:4318" otel-collector: image: otel/opentelemetry-collector-contrib:0.93.0 command: - "--config=/etc/otel/otel-collector.yaml" volumes: - ./otel:/etc/otel:ro ports: - "4317:4317" - "4318:4318" - "8888:8888" grafana: image: grafana/grafana:10.3.1 environment: GF_SECURITY_ADMIN_USER: admin GF_SECURITY_ADMIN_PASSWORD: admin volumes: - grafana-data:/var/lib/grafana ports: - "3111:3000" volumes: grafana-data: loki-data: tempo-data: