services: prometheus: image: prom/prometheus:latest container_name: prometheus volumes: - ./prometheus-config.yml:/etc/prometheus/prometheus.yml - prometheus_data:/prometheus restart: unless-stopped node-exporter: image: prom/node-exporter:latest container_name: node-exporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - "--path.procfs=/host/proc" - "--path.rootfs=/rootfs" - "--path.sysfs=/host/sys" restart: unless-stopped loki: image: grafana/loki:latest container_name: loki volumes: - loki_data:/loki restart: unless-stopped promtail: image: grafana/promtail:latest container_name: promtail volumes: - ./promtail-config.yml:/etc/promtail/config.yml - /var/log:/var/log restart: unless-stopped cadvisor: image: gcr.io/cadvisor/cadvisor:latest container_name: cadvisor volumes: - /:/rootfs:ro - /var/run:/var/run:ro - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - /dev/disk/:/dev/disk:ro restart: unless-stopped grafana: image: grafana/grafana:latest container_name: grafana volumes: - data:/var/lib/grafana environment: - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD} - GF_USERS_ALLOW_SIGN_UP=false - GF_AUTH_MULTI_FACTOR_AUTHENTICATION_ENABLED=true - GF_AUTH_MULTI_FACTOR_WEBAUTHN_ENABLED=true ports: - "8000:3000" networks: - default restart: unless-stopped volumes: data: prometheus_data: loki_data: networks: default: