/ docker-compose / docker-compose.yml
docker-compose.yml
 1  version: '3'
 2  services:
 3    telegraf:
 4      platform: linux/x86_64
 5      image: telegraf:1.22-alpine
 6      env_file: configuration.env
 7      volumes:
 8      - ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
 9      depends_on:
10        - influxdb
11      ports:
12      - '8125:8125/udp'
13  
14    influxdb:
15      platform: linux/x86_64
16      container_name: influxdb
17      image: influxdb:2.2-alpine
18      env_file: configuration.env
19      ports:
20        - '8086:8086'
21      volumes:
22        # - ./:/imports
23        - ./influxdb/data:/var/lib/influxdb2:rw
24        # - ./influxdb/config.yml:/etc/influxdb2/config.yml
25  
26    grafana:
27      platform: linux/x86_64
28      image: grafana/grafana:8.5.0
29      depends_on:
30        - influxdb
31      env_file: configuration.env
32      ports:
33        - '127.0.0.1:3000:3000'
34      volumes:
35        - grafana_data:/var/lib/grafana
36        - ./grafana/provisioning/:/etc/grafana/provisioning/
37        - ./grafana/dashboards/:/var/lib/grafana/dashboards/
38  
39    mosquitto:
40      platform: linux/x86_64
41      container_name: mosquitto
42      image: eclipse-mosquitto:2-openssl
43      user: "0"
44      ports:
45        - "1883:1883"
46        - "9001:9001"
47      volumes:
48        - ./mosquitto/data:/mosquitto/data
49        - ./mosquitto/logs:/mosquitto/logs
50        - ./mosquitto/conf:/mosquitto/config
51  
52  volumes:
53    grafana_data: {}
54    influxdb_data: {}