version: "3.1" volumes: prometheus_data: {} grafana_data: {} networks: front-tier: back-tier: services: prometheus: image: prom/prometheus:v2.0.0 volumes: - ./prometheus/:/etc/prometheus/ - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/usr/share/prometheus/console_libraries' - '--web.console.templates=/usr/share/prometheus/consoles' ports: - 9090:9090 links: - ping:ping - speedtest:speedtest networks: - back-tier grafana: image: grafana/grafana volumes: - grafana_data:/var/lib/grafana - ./grafana/provisioning/:/etc/grafana/provisioning/ depends_on: - prometheus ports: - 3030:3000 env_file: - ./grafana/config.monitoring networks: - back-tier - front-tier ping: tty: true stdin_open: true expose: - 9115 ports: - 9115:9115 image: prom/blackbox-exporter volumes: - ./blackbox/config:/config command: - '--config.file=/config/blackbox.yml' networks: - back-tier speedtest: tty: true stdin_open: true expose: - 9696 ports: - 9696:9696 image: stefanwalther/speedtest-exporter restart: always networks: - back-tier sonos: tty: true stdin_open: true expose: - 1915 ports: - 1915:1915 image: maxandersen/sonos_exporter command: - '--address=0.0.0.0:1915' network_mode: host nodeexp: privileged: true image: prom/node-exporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro ports: - 9100:9100 restart: always command: - '--path.procfs=/host/proc' - '--path.sysfs=/host/sys' - --collector.filesystem.ignored-mount-points - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)" networks: - back-tier