Files
grafana-for-dev/docker-compose.yml
Savosin Denis 8c36c01440 replace agent with alloy
some fixes
2025-11-10 18:24:03 +07:00

111 lines
3.1 KiB
YAML

---
services:
grafana:
image: grafana/grafana:${GRAFANA_VERSION:-latest}
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.rule=Host(`${GRAFANA_HOST}`)"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
expose:
- 3000
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning
- grafana-storage:/var/lib/grafana
profiles:
- grafana
loki:
image: grafana/loki:${LOKI_STACK_VERSION}
labels:
- "traefik.enable=true"
- "traefik.http.routers.loki.rule=Host(`${LOKI_HOST}`)"
- "traefik.http.services.loki.loadbalancer.server.port=3100"
expose:
- 3100
volumes:
- ./loki:/loki/config
command: --config.file=/loki/config/config.yml
profiles:
- grafana
alloy:
image: grafana/alloy:${ALLOY_VERSION}
volumes:
- ./alloy/alloy.conf:/etc/alloy/config.alloy
- alloy-data:/var/lib/alloy/data
- /var/run/docker.sock:/var/run/docker.sock:ro
command:
- run
- /etc/alloy/config.alloy
- --storage.path=/var/lib/alloy/data
- --server.http.listen-addr=0.0.0.0:12345
expose:
- 12345
- 4317 # otlp grpc
- 4318 # otlp http
profiles:
- alloy
tempo:
image: grafana/tempo:${TEMPO_VERSION}
command:
- "-config.file=${TEMPO_CONFIG_FILE:-/etc/tempo/tempo.yml}"
- "-config.expand-env=true"
expose:
- 3200 # tempo
- 9095 # tempo grpc
- 4317 # otlp grpc
- 4318 # otlp http
environment:
TEMPO_SERVER_LOG_LEVEL: ${TEMPO_SERVER_LOG_LEVEL:-info}
TEMPO_STORAGE_PATH: ${TEMPO_STORAGE_PATH:-/opt/tempo}
TEMPO_PROMETHEUS_URL: ${TEMPO_PROMETHEUS_URL}
volumes:
- ./tempo:/etc/tempo
- tempo-local-storage:${TEMPO_STORAGE_PATH:-/var/tempo}
profiles:
- tempo
prometheus:
image: prom/prometheus:${PROMETHEUS_VERSION}
labels:
- "traefik.enable=true"
- "traefik.http.routers.prometheus.rule=Host(`${PROMETHEUS_HOST}`)"
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=${PROMETHEUS_RETENTION_TIME:-10d}'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
expose:
- 9090
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus-data:/prometheus
profiles:
- prometheus
node-exporter:
image: prom/node-exporter:${PROMETHEUS_NODE_EXPORTER_VERSION}
restart: on-failure
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- --collector.filesystem.ignored-mount-points
- "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
expose:
- 9100
profiles:
- prometheus
volumes:
grafana-storage:
tempo-local-storage:
prometheus-data:
alloy-data: