version: '2.2' volumes: prometheus_data: {} grafana_data: {} networks: proxy-tier: external: name: nginx-proxy back-tier: driver: bridge services: prometheus: image: prom/prometheus volumes: - ./prometheus:/etc/prometheus/ - /var/lib/prometheus:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' # - '--alertmanager.url=http://alertmanager:9093' expose: - 9090 links: - cadvisor:cadvisor - alertmanager:alertmanager depends_on: - cadvisor networks: - back-tier restart: always node-exporter: image: prom/node-exporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: '--path.procfs=/host/proc --path.sysfs=/host/sys --collector.filesystem.ignored-mount-points="^(/rootfs|/host|)/(sys|proc|dev|host|etc)($$|/)" --collector.filesystem.ignored-fs-types="^(sys|proc|auto|cgroup|devpts|ns|au|fuse\.lxc|mqueue)(fs|)$$"' expose: - 9100 networks: - back-tier restart: always alertmanager: image: prom/alertmanager ports: - 9093:9093 volumes: - ./alertmanager/:/etc/alertmanager/ networks: - back-tier command: - '-config.file=/etc/alertmanager/config.yml' - '-storage.path=/alertmanager' restart: always cadvisor: image: google/cadvisor volumes: - /:/rootfs:ro - /var/run:/var/run:rw - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro expose: - 8080 networks: - back-tier restart: always grafana: image: grafana/grafana depends_on: - prometheus expose: - 3000 volumes: - /var/lib/grafana:/var/lib/grafana environment: - VIRTUAL_HOST=${GRAFANA_DOMAIN} - VIRTUAL_NETWORK=nginx-proxy - VIRTUAL_PORT=3000 # - LETSENCRYPT_HOST=${GRAFANA_DOMAIN} # - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} env_file: - ./grafana/grafana.env networks: - back-tier - proxy-tier restart: always