MTIG-Stack/docker-compose.yml
2026-01-12 16:30:16 +01:00

77 lines
1.8 KiB
YAML

version: "3.9"
services:
influxdb:
image: influxdb:latest
container_name: influxdb
restart: unless-stopped
ports:
- "8086:8086"
volumes:
- ./influxdb/data:/var/lib/influxdb2
- ./influxdb/config:/etc/influxdb2
healthcheck:
test: ["CMD", "curl", "-fsS", "http://localhost:8086/health"]
interval: 5s
timeout: 3s
retries: 20
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: unless-stopped
user: "0"
ports:
- "3000:3000"
volumes:
- ./grafana/data:/var/lib/grafana
- ./grafana/config:/etc/grafana
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
interval: 5s
timeout: 3s
retries: 20
depends_on:
influxdb:
condition: service_healthy
mqtt5:
image: eclipse-mosquitto:latest
container_name: mqtt5
restart: unless-stopped
ports:
- "1883:1883"
- "9001:9001"
volumes:
- ./mosquitto/config:/mosquitto/config
- ./mosquitto/data:/mosquitto/data
- ./mosquitto/log:/mosquitto/log
healthcheck:
test: ["CMD-SHELL", "mosquitto_pub -h localhost -p 1883 -t healthcheck/ping -n >/dev/null 2>&1 || exit 1"]
interval: 10s
timeout: 5s
retries: 12
telegraf:
image: telegraf:latest
container_name: telegraf
restart: unless-stopped
env_file:
- .env
volumes:
- ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
depends_on:
mqtt5:
condition: service_healthy
influxdb:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "pidof telegraf >/dev/null 2>&1 || exit 1"]
interval: 10s
timeout: 3s
retries: 12
networks:
default:
name: mqtt5-network
external: true