diff --git a/docker/supervision/docker-compose.yml b/docker/supervision/docker-compose.yml index a08b36c..68413c5 100644 --- a/docker/supervision/docker-compose.yml +++ b/docker/supervision/docker-compose.yml @@ -1,33 +1,6 @@ +version: "3.9" + services: - # Uptime-Kuma – monitoring uptime - uptime-kuma: - image: louislam/uptime-kuma:latest - container_name: uptime-kuma - restart: unless-stopped - networks: - - frontend - - backend - ports: - - "7655:3001" - volumes: - - /srv/docker/supervision/data/uptime-kuma:/app/data - - /srv/docker/supervision/config/uptime-kuma:/app/config - - /srv/docker/supervision/logs/uptime-kuma:/app/logs - - # Prometheus – collecte métriques - prometheus: - image: prom/prometheus:latest - container_name: prometheus - restart: unless-stopped - networks: - - backend - ports: - - "7651:9090" - volumes: - - /srv/docker/supervision/data/prometheus:/prometheus/data - - /srv/docker/supervision/config/prometheus:/prometheus/config - - /srv/docker/supervision/logs/prometheus:/prometheus/logs - # Grafana – visualisation dashboards grafana: image: grafana/grafana:latest @@ -39,9 +12,17 @@ services: ports: - "7650:3000" volumes: - - /srv/docker/supervision/data/grafana:/var/lib/grafana - #- /srv/docker/supervision/config/grafana:/etc/grafana - - /srv/docker/supervision/logs/grafana:/var/log/grafana + - /srv/docker/supervision/grafana/data:/var/lib/grafana + - /srv/docker/supervision/grafana/conf/grafana.ini:/etc/grafana/grafana.ini + - /srv/docker/supervision/grafana/conf:/etc/grafana + - /srv/docker/supervision/grafana/logs:/var/log/grafana + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000"] + interval: 30s + timeout: 10s + retries: 5 + labels: + - grafana.enable=true # Node Exporter – métriques hôte node-exporter: @@ -55,7 +36,32 @@ services: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro - - /srv/docker/supervision/logs/node-exporter:/var/log/node-exporter + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9100/metrics"] + interval: 30s + timeout: 10s + retries: 5 + labels: + - node-exporter.enable=true + + # Prometheus – collecte métriques + prometheus: + image: prom/prometheus:latest + container_name: prometheus + restart: unless-stopped + networks: + - backend + ports: + - "7651:9090" + volumes: + - /srv/docker/supervision/prometheus:/prometheus/data + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9090/-/ready"] + interval: 30s + timeout: 10s + retries: 5 + labels: + - prometheus.enable=true # SNMP Exporter – récupération métriques Synology snmp-exporter: @@ -67,7 +73,36 @@ services: ports: - "9116:9116" volumes: - - /srv/docker/supervision/data/snmp-exporter:/etc/snmp_exporter/data + - /srv/docker/supervision/snmp-exporter:/etc/snmp_exporter/data + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9116/metrics"] + interval: 30s + timeout: 10s + retries: 5 + labels: + - snmp-exporter.enable=true + + # Uptime-Kuma – monitoring uptime + uptime-kuma: + image: louislam/uptime-kuma:latest + container_name: uptime-kuma + restart: unless-stopped + networks: + - frontend + - backend + ports: + - "7655:3001" + volumes: + - /srv/docker/supervision/uptime-kuma:/app/data + - /srv/docker/supervision/uptime-kuma/logs:/app/logs + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3001"] + interval: 30s + timeout: 10s + retries: 5 + labels: + - uptime-kuma.enable=true + networks: frontend: external: true