# SUPERSEDED 2026-03-21: Do NOT deploy this as a Swarm stack. # Swarm mode blocks pid: host, causing cross-node /proc namespace contamination # where node-exporter reads wrong host's memory metrics. # Use standalone Compose on each node instead: # compose/hf-pdocker-01/node-exporter/docker-compose.yml # compose/hf-pdocker-02/node-exporter/docker-compose.yml # compose/bart/node-exporter/docker-compose.yml services: node-exporter: image: prom/node-exporter:v1.7.0 hostname: "{{.Node.Hostname}}" pid: host ports: - "9100:9100" volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - '--path.procfs=/host/proc' - '--path.rootfs=/rootfs' - '--path.sysfs=/host/sys' - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)' logging: driver: "json-file" options: max-size: "50m" max-file: "3" deploy: mode: global resources: limits: memory: 128M