Files
compose/opentelemetry/server/docker-compose.yml
2025-11-29 20:01:46 +08:00

64 lines
1.4 KiB
YAML

name: otel-server
services:
otel-server:
container_name: otel-gateway
image: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.140.0
restart: unless-stopped
volumes:
- ./config/otel:/data
command:
- --config
- /data/config.yml
networks:
- proxy
- otel
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.otel.rule=Host(`otel.example.com`)"
- "traefik.http.routers.otel.entrypoints=websecure"
- "traefik.http.routers.otel.service=otel"
- "traefik.http.services.otel.loadBalancer.server.port=4318"
grafana:
container_name: grafana
image: grafana/grafana:12.0.2
restart: unless-stopped
user: 1000:1000
networks:
- grafana
volumes:
- ./config/grafana:/etc/grafana
- ./data/grafana:/var/lib/grafana
depends_on:
- otel
loki:
container_name: grafana-loki
image: grafana/loki:3.5.2
restart: unless-stopped
networks:
- grafana
volumes:
- ./config/loki:/etc/loki
- ./data/loki:/tmp/loki
tempo:
container_name: grafana-loki
image: grafana/tempo:latest
volumes:
- ./config/tempo:/etc/tempo
- ./data/tempo:/var/tempo
command:
- "-config.file=/etc/tempo/config.yaml"
depends_on:
- init
networks:
proxy:
name: proxy
external: true
otel:
name: otel