88 lines
2.4 KiB
YAML

services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus-observability
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- "9090:9090"
networks:
- observability
grafana:
image: grafana/grafana:latest
container_name: grafana-observability
ports:
- "3000:3000"
volumes:
- grafana-data:/var/lib/grafana
- ./visualisation/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro
- ./visualisation/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro
- ./visualisation/grafana/dashboards:/var/lib/grafana/dashboards:ro
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_SMTP_ENABLED=true
- GF_SMTP_HOST=smtp.gmail.com:587
- GF_SMTP_USER=kimraumilliardaire@gmail.com
- GF_SMTP_PASSWORD=vmfc xrtt yvvm gylz
- GF_SMTP_FROM_ADDRESS=kimraumilliardaire@gmail.com
- GF_SMTP_FROM_NAME=Grafana Alerts
- GF_SMTP_SKIP_VERIFY=true
networks:
- observability
depends_on:
- loki
loki:
image: grafana/loki:2.8.2
container_name: loki-observability
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
user: "1001:1001"
volumes:
- ./loki-config.yaml:/etc/loki/local-config.yaml:ro
- ./loki-wal:/loki/wal
- ./loki-chunks:/loki/chunks
- ./loki-index:/loki/index
- ./loki-compactor:/loki/compactor
networks:
- observability
promtail:
image: grafana/promtail:2.8.2
container_name: promtail-observability
volumes:
- ./promtail-config.yaml:/etc/promtail/config.yaml
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- /var/log:/var/log:ro
command:
- -config.file=/etc/promtail/config.yaml
networks:
- observability
node_exporter:
image: prom/node-exporter:latest
container_name: node-exporter
restart: unless-stopped
pid: "host"
network_mode: "host"
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)($$|/)"'
volumes:
grafana-data:
networks:
observability:
driver: bridge