version: "3.8" 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" restart: unless-stopped networks: - observability grafana: image: grafana/grafana:latest container_name: grafana-observability ports: - "3000:3000" volumes: - grafana-data:/var/lib/grafana environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=admin restart: unless-stopped depends_on: - loki networks: - observability loki: image: grafana/loki:2.8.2 container_name: loki-observability ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml volumes: - ./loki-config.yaml:/etc/loki/local-config.yaml restart: unless-stopped 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 # Permet de lire les logs des containers Docker command: - -config.file=/etc/promtail/config.yaml restart: unless-stopped networks: - observability volumes: grafana-data: networks: observability: driver: bridge