generated from GamingChaos/docker-compose
82 lines
2.1 KiB
YAML
82 lines
2.1 KiB
YAML
|
|
volumes:
|
|
tempo-data:
|
|
mimir-data:
|
|
loki-data:
|
|
grafana-data:
|
|
|
|
services:
|
|
|
|
# OpenTelemetry Collector - receives and routes all telemetry
|
|
otel-collector:
|
|
image: otel/opentelemetry-collector-contrib
|
|
container_name: otel-collector-lgtm
|
|
restart: unless-stopped
|
|
ports:
|
|
- 4317:4317 # gprc
|
|
- 4318:4318 # http
|
|
volumes:
|
|
- ./config/otel-collector.yaml:/etc/otelcol-contrib/config.yaml
|
|
- ./ssl/ca.crt:/etc/otelcol-contrib/ca.crt
|
|
- ./ssl/server.crt:/etc/otelcol-contrib/otel.crt
|
|
- ./ssl/server.key:/etc/otelcol-contrib/otel.key
|
|
depends_on:
|
|
- tempo
|
|
- mimir
|
|
- loki
|
|
|
|
# Grafana Tempo - distributed tracing backend
|
|
tempo:
|
|
image: grafana/tempo:latest
|
|
container_name: tempo
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./config/tempo.yaml:/etc/tempo/config.yaml
|
|
- tempo-data:/var/tempo
|
|
command: ["-config.file=/etc/tempo/config.yaml"]
|
|
ports:
|
|
- "3200:3200" # Tempo API
|
|
|
|
# Grafana Mimir - long-term metrics storage
|
|
mimir:
|
|
image: grafana/mimir:latest
|
|
container_name: mimir
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./config/mimir.yaml:/etc/mimir/config.yaml
|
|
- mimir-data:/data
|
|
command: ["-config.file=/etc/mimir/config.yaml"]
|
|
ports:
|
|
- "9009:9009" # Mimir API
|
|
|
|
# Grafana Loki - log aggregation
|
|
loki:
|
|
image: grafana/loki:latest
|
|
container_name: loki
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./config/loki.yaml:/etc/loki/config.yaml
|
|
- loki-data:/loki
|
|
command: ["-config.file=/etc/loki/config.yaml"]
|
|
ports:
|
|
- "3100:3100" # Loki API
|
|
|
|
# Grafana - visualization and dashboards
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
container_name: grafana
|
|
restart: unless-stopped
|
|
environment:
|
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
- GF_AUTH_DISABLE_LOGIN_FORM=true
|
|
volumes:
|
|
- ./config/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
|
|
- grafana-data:/var/lib/grafana
|
|
ports:
|
|
- "3000:3000" # Grafana UI
|
|
depends_on:
|
|
- tempo
|
|
- mimir
|
|
- loki
|