version: '3.8' services: influxdb: image: influxdb:2.7 container_name: influxdb restart: unless-stopped ports: - "8086:8086" volumes: - influxdb-data:/var/lib/influxdb2 - influxdb-config:/etc/influxdb2 environment: - DOCKER_INFLUXDB_INIT_MODE=setup - DOCKER_INFLUXDB_INIT_USERNAME=admin - DOCKER_INFLUXDB_INIT_PASSWORD=supersecurepassword - DOCKER_INFLUXDB_INIT_ORG=my-org - DOCKER_INFLUXDB_INIT_BUCKET=telegraf-bucket - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-secret-token grafana: image: grafana/grafana:latest container_name: grafana restart: unless-stopped ports: - "3000:3000" volumes: - grafana-data:/var/lib/grafana - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=admin depends_on: - influxdb telegraf: image: telegraf:1.30 container_name: telegraf restart: unless-stopped volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/host:ro - ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro depends_on: - influxdb volumes: influxdb-data: influxdb-config: grafana-data: