diff --git a/docker/supervision/docker-compose.yml b/docker/supervision/docker-compose.yml new file mode 100644 index 0000000..a08b36c --- /dev/null +++ b/docker/supervision/docker-compose.yml @@ -0,0 +1,75 @@ +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 + container_name: grafana + restart: unless-stopped + networks: + - frontend + - backend + 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 + + # Node Exporter – métriques hôte + node-exporter: + image: prom/node-exporter:latest + container_name: node-exporter + restart: unless-stopped + networks: + - backend + pid: "host" + volumes: + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /:/rootfs:ro + - /srv/docker/supervision/logs/node-exporter:/var/log/node-exporter + + # SNMP Exporter – récupération métriques Synology + snmp-exporter: + image: prom/snmp-exporter:latest + container_name: snmp-exporter + restart: unless-stopped + networks: + - backend + ports: + - "9116:9116" + volumes: + - /srv/docker/supervision/data/snmp-exporter:/etc/snmp_exporter/data +networks: + frontend: + external: true + backend: + external: true