version: '3.6' services: influxdb: image: influxdb:1.8-alpine container_name: influxdb restart: unless-stopped env_file: .env ports: - '8086:8086' volumes: - influxdb_data:/var/lib/influxdb - ./influxdb/imports:/imports grafana: image: grafana/grafana:8.0.2 container_name: grafana restart: unless-stopped depends_on: - influxdb env_file: .env links: - influxdb ports: - '3000:3000' volumes: - grafana_data:/var/lib/grafana - ./grafana/provisioning/:/etc/grafana/provisioning/ - ./grafana/dashboards/:/var/lib/grafana/dashboards/ telegraf: image: telegraf:1.18-alpine # image: telegraf:latest #(for amd64) container_name: telegraf restart: unless-stopped volumes: - ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro depends_on: - influxdb links: - influxdb ports: - '8125:8125/udp' prometheus: image: prom/prometheus:v2.17.1 container_name: prometheus restart: unless-stopped volumes: - ./prometheus:/etc/prometheus - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' - '--storage.tsdb.retention.time=200h' - '--web.enable-lifecycle' ports: - "9090:9090" alertmanager: image: prom/alertmanager:v0.20.0 container_name: alertmanager restart: unless-stopped volumes: - ./alertmanager:/etc/alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yml' - '--storage.path=/alertmanager' ports: - "9093:9093" pushgateway: image: prom/pushgateway:v1.2.0 container_name: pushgateway restart: unless-stopped ports: - "9091:9091" volumes: grafana_data: {} influxdb_data: {}