mirror of
https://github.com/grafana/tempo.git
synced 2025-03-14 03:06:42 +00:00
66 lines
1.7 KiB
YAML
66 lines
1.7 KiB
YAML
services:
|
|
|
|
# Tempo runs as user 10001, and docker compose creates the volume as root.
|
|
# As such, we need to chown the volume in order for Tempo to start correctly.
|
|
init:
|
|
image: &tempoImage grafana/tempo:latest
|
|
user: root
|
|
entrypoint:
|
|
- "chown"
|
|
- "10001:10001"
|
|
- "/var/tempo"
|
|
volumes:
|
|
- ./tempo-data:/var/tempo
|
|
|
|
tempo:
|
|
image: *tempoImage
|
|
command: [ "-config.file=/etc/tempo.yaml" ]
|
|
volumes:
|
|
- ../shared/tempo.yaml:/etc/tempo.yaml
|
|
- ./tempo-data:/var/tempo
|
|
ports:
|
|
- "3200" # tempo
|
|
- "4317" # otlp grpc
|
|
depends_on:
|
|
- init
|
|
|
|
# Generate fake traces...
|
|
k6-tracing:
|
|
image: ghcr.io/grafana/xk6-client-tracing:v0.0.7
|
|
environment:
|
|
- ENDPOINT=otel-collector:4317
|
|
restart: always
|
|
depends_on:
|
|
- otel-collector
|
|
|
|
# And put them in an OTEL collector pipeline...
|
|
otel-collector:
|
|
image: otel/opentelemetry-collector:0.86.0
|
|
command: [ "--config=/etc/otel-collector.yaml" ]
|
|
volumes:
|
|
- ./otel-collector.yaml:/etc/otel-collector.yaml
|
|
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
command:
|
|
- --config.file=/etc/prometheus.yaml
|
|
- --web.enable-remote-write-receiver
|
|
- --enable-feature=exemplar-storage
|
|
- --enable-feature=native-histograms
|
|
volumes:
|
|
- ../shared/prometheus.yaml:/etc/prometheus.yaml
|
|
ports:
|
|
- "9090:9090"
|
|
|
|
grafana:
|
|
image: grafana/grafana:11.0.0
|
|
volumes:
|
|
- ../shared/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
|
|
environment:
|
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
- GF_AUTH_DISABLE_LOGIN_FORM=true
|
|
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
|
|
ports:
|
|
- "3000:3000"
|