1+ # Observability main stack. Prometheus and Grafana.
2+ # Depends on docker-compose.exporters.yml for the network
3+ name : " cogstack-observability"
4+ services :
5+ prometheus :
6+ image : cogstacksystems/cogstack-observability-prometheus:latest
7+ restart : unless-stopped
8+ ports :
9+ - " 9090:9090"
10+ volumes :
11+ - ${BASE_PATH-.}/prometheus:/etc/prometheus/cogstack/site/
12+ - prometheus-data:/prometheus
13+ networks :
14+ - observability
15+ command :
16+ - " --config.file=/etc/prometheus/cogstack/defaults/prometheus.yml"
17+ - " --storage.tsdb.path=/prometheus"
18+ - " --storage.tsdb.retention.time=30d"
19+ - " --web.external-url=/prometheus"
20+ - " --web.route-prefix=/prometheus"
21+ - " --web.enable-remote-write-receiver"
22+ grafana :
23+ image : cogstacksystems/cogstack-observability-grafana:latest
24+ restart : unless-stopped
25+ volumes :
26+ - grafana-data:/var/lib/grafana
27+ networks :
28+ - observability
29+ environment :
30+ - GF_AUTH_ANONYMOUS_ENABLED=true # Allows use of grafana without sign in
31+ - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
32+ traefik :
33+ image : cogstacksystems/cogstack-observability-traefik:latest
34+ networks :
35+ - observability
36+ restart : unless-stopped
37+ ports :
38+ - " 80:80"
39+ volumes :
40+ - /var/run/docker.sock:/var/run/docker.sock:ro # So that Traefik can listen to the Docker events
41+ alloy :
42+ image : grafana/alloy:latest
43+ command :
44+ - run
45+ - --server.http.listen-addr=0.0.0.0:12345
46+ - --storage.path=/var/lib/alloy/data
47+ - --server.http.ui-path-prefix=/alloy
48+ - /etc/alloy/config.alloy
49+ ports :
50+ - " 12345:12345"
51+ volumes :
52+ - ${BASE_PATH-.}/grafana-alloy/config.alloy:/etc/alloy/config.alloy
53+ # CAdvisor
54+ - /:/rootfs:ro
55+ - /var/run:/var/run:rw
56+ - /sys:/sys:ro
57+ - /var/lib/docker/:/var/lib/docker:ro
58+ labels :
59+ - " traefik.enable=true"
60+ - " traefik.http.routers.cadvisor.rule=PathPrefix(`/alloy`)"
61+ environment :
62+ - PROMETHEUS_URL=http://cogstack-observability-prometheus-1:9090/prometheus/api/v1/write
63+ networks :
64+ - observability
65+ networks :
66+ observability :
67+ driver : bridge
68+
69+ volumes :
70+ prometheus-data :
71+ grafana-data:
0 commit comments