Files
homelab/docker-compose/monitoring-grafana-promethues-cadvisor-node-exporter/docker-compose.yml
2026-08-16 22:26:40 +03:30

98 lines
2.2 KiB
YAML

services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: unless-stopped
ports:
- "9090:9090"
volumes:
- ./prometheus:/etc/prometheus:ro
- ./data/prometheus:/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--web.enable-lifecycle"
networks:
- monitoring
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./grafana/data:/var/lib/grafana
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro
networks:
- monitoring
node_exporter:
image: prom/node-exporter:latest
container_name: node-exporter
restart: unless-stopped
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
networks:
- monitoring
cadvisor:
image: ghcr.io/google/cadvisor:latest
container_name: cadvisor
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
networks:
- monitoring
loki:
image: grafana/loki:3.7.3
container_name: loki
restart: unless-stopped
command: -config.file=/etc/loki/local-config.yaml
ports:
- "3100:3100"
volumes:
- ./loki/local-config.yaml:/etc/loki/local-config.yaml:ro
- ./data/loki:/loki
mem_limit: 400m
cpus: 1
networks:
- monitoring
alloy:
image: grafana/alloy:v1.17.1
container_name: alloy
restart: unless-stopped
command:
- "run"
- "--server.http.listen-addr=0.0.0.0:12345"
- "--storage.path=/var/lib/alloy/data"
- "/etc/alloy/config.alloy"
ports:
- "12345:12345"
volumes:
- ./alloy/config.alloy:/etc/alloy/config.alloy:ro
- ./alloy/k3s-token:/etc/alloy/k3s-token:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/alloy:/var/lib/alloy/data
mem_limit: 300m
cpus: 0.5
depends_on:
- loki
networks:
- monitoring
networks:
monitoring:
driver: bridge