mirror of
https://github.com/grafana/tempo.git
synced 2025-03-14 03:06:42 +00:00
76 lines
1.9 KiB
YAML
76 lines
1.9 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=alloy:4317
|
|
restart: always
|
|
depends_on:
|
|
- tempo
|
|
- alloy
|
|
|
|
# And put them in a Grafana Alloy pipeline...
|
|
alloy:
|
|
image: grafana/alloy:v1.3.1
|
|
volumes:
|
|
- ../shared/config.alloy:/etc/alloy/config.alloy
|
|
command:
|
|
- run
|
|
- /etc/alloy/config.alloy
|
|
- --storage.path=/var/lib/alloy/data
|
|
- --server.http.listen-addr=0.0.0.0:12345
|
|
ports:
|
|
- "12345:12345"
|
|
- "4319:4319"
|
|
depends_on:
|
|
- tempo
|
|
|
|
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.5.2
|
|
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"
|