version: "2" volumes: prometheus_data: {} grafana_data: {} networks: front-tier: driver: bridge back-tier: driver: bridge services: prometheus: image: prom/prometheus container_name: prometheus volumes: - ./prometheus/:/etc/prometheus/ - prometheus_data:/prometheus command: - '-config.file=/etc/prometheus/prometheus.yml' - '-storage.local.path=/prometheus' - '-alertmanager.url=http://alertmanager:9093' expose: - 9090 ports: - 9090:9090 links: - alertmanager:alertmanager - metrics:metrics networks: - back-tier alertmanager: image: prom/alertmanager ports: - 9093:9093 volumes: - ./alertmanager/:/etc/alertmanager/ networks: - back-tier command: - '-config.file=/etc/alertmanager/config.yml' - '-storage.path=/alertmanager' grafana: image: grafana/grafana depends_on: - prometheus ports: - 3000:3000 volumes: - grafana_data:/var/lib/grafana env_file: - config.monitoring networks: - back-tier - front-tier metrics: tty: true stdin_open: true expose: - 9171 image: infinityworks/github-exporter:latest environment: - REPOS=freeCodeCamp/freeCodeCamp,docker/docker - GITHUB_TOKEN= networks: - back-tier