mirror of
https://git.deuxfleurs.fr/Deuxfleurs/garage.git
synced 2026-11-10 08:09:16 -05:00
44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
|
|
# Local telemetry stack for Garage: Prometheus (metrics), Jaeger (traces), Grafana (UI).
|
||
|
|
# Garage is supposed to run on the host separatelty and be reachable on the docker bridge
|
||
|
|
|
||
|
|
services:
|
||
|
|
prometheus:
|
||
|
|
image: docker.io/prom/prometheus:${PROMETHEUS_TAG}
|
||
|
|
command:
|
||
|
|
- --config.file=/etc/prometheus/prometheus.yml
|
||
|
|
- --storage.tsdb.retention.time=7d
|
||
|
|
volumes:
|
||
|
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro,z
|
||
|
|
- prometheus:/prometheus
|
||
|
|
ports:
|
||
|
|
- "9090:9090"
|
||
|
|
extra_hosts:
|
||
|
|
- "host.docker.internal:host-gateway"
|
||
|
|
|
||
|
|
jaeger:
|
||
|
|
# Jaeger v2 all-in-one: receives OTLP directly, keeps traces in memory
|
||
|
|
image: docker.io/jaegertracing/jaeger:${JAEGER_TAG}
|
||
|
|
ports:
|
||
|
|
- "4317:4317" # OTLP gRPC (Garage admin.trace_sink)
|
||
|
|
- "4318:4318" # OTLP HTTP
|
||
|
|
- "16686:16686" # Jaeger UI
|
||
|
|
|
||
|
|
grafana:
|
||
|
|
image: docker.io/grafana/grafana:${GRAFANA_TAG}
|
||
|
|
environment:
|
||
|
|
# Anonymous viewers can browse dashboards and use Explore;
|
||
|
|
# log in as admin/admin to save changes
|
||
|
|
GF_AUTH_ANONYMOUS_ENABLED: "true"
|
||
|
|
GF_USERS_VIEWERS_CAN_EDIT: "true"
|
||
|
|
volumes:
|
||
|
|
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro,z
|
||
|
|
- ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro,z
|
||
|
|
- ./grafana-garage-dashboard-prometheus.json:/etc/grafana/dashboards/garage.json:ro,z
|
||
|
|
- grafana:/var/lib/grafana
|
||
|
|
ports:
|
||
|
|
- "3000:3000"
|
||
|
|
depends_on: [prometheus, jaeger]
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
prometheus:
|
||
|
|
grafana:
|