version: '3' services: app: build: context: ./app dockerfile: Dockerfile networks: app_dev: ports: - 8081:8081 telegraf: image: telegraf:1.22.4 networks: app_dev: volumes: - ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro influxdb: image: influxdb:1.8.10 environment: INFLUXDB_REPORTING_DISABLED: "true" INFLUXDB_DB: "metrics" INFLUXDB_ADMIN_USER: "admin" INFLUXDB_ADMIN_PASSWORD: "admin" INFLUXDB_USER: "telegraf" INFLUXDB_USER_PASSWORD: "telegraf" INFLUXDB_HTTP_AUTH_ENABLED: "true" networks: app_dev: ports: - 8086:8086 prometheus: image: prom/prometheus:v2.36.0 networks: app_dev: ports: - 9090:9090 volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml grafana: image: grafana/grafana:8.0.7 environment: GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION: "true" GF_AUTH_ANONYMOUS_ENABLED: "true" GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin" GF_AUTH_DISABLE_SIGNOUT_MENU: "true" GF_AUTH_DISABLE_LOGIN_FORM: "true" networks: app_dev: ports: - 3000:3000 volumes: - ./grafana/provisioning:/etc/grafana/provisioning networks: app_dev: driver: bridge