diff --git a/docker-compose.yaml b/docker-compose.yaml index 39150fa4babbb831f34589d7fdda62efb1e2fd42..225e497c9dfc2adddb9bc4632e84dec829ed1ace 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,6 +1,9 @@ +version: '3.9' + services: + # 🟡 MQTT-Backend (wie gehabt) mqtt-backend: image: mqtt-influx-backend container_name: mqtt-backend @@ -9,10 +12,11 @@ services: env_file: - ../mqtt_to_influxdb/.env restart: unless-stopped - #depends_on: - # - influxdb - # - mosquitto + depends_on: + - influxdb + - mosquitto + # 🔵 Django-Backend backend: build: ./backend ports: @@ -20,6 +24,7 @@ services: volumes: - ./backend:/app + # 🟣 Vite-Frontend frontend: build: ./frontend ports: @@ -29,3 +34,37 @@ services: - /app/node_modules stdin_open: true tty: true + + # 🔷 Mosquitto (MQTT Broker) + mosquitto: + image: eclipse-mosquitto:2 + container_name: mosquitto + ports: + - "1883:1883" # MQTT Port + - "9001:9001" # WebSocket Port (optional) + volumes: + - ./mosquitto/config:/mosquitto/config + - ./mosquitto/data:/mosquitto/data + - ./mosquitto/log:/mosquitto/log + - ./mosquitto/run:/var/run/mosquitto + restart: unless-stopped + + # 🔶 InfluxDB + influxdb: + image: influxdb:2.7 + container_name: influxdb + ports: + - "8086:8086" + volumes: + - influxdb-data:/var/lib/influxdb2 + environment: + - DOCKER_INFLUXDB_INIT_MODE=setup + - DOCKER_INFLUXDB_INIT_USERNAME=admin + - DOCKER_INFLUXDB_INIT_PASSWORD=admin123 + - DOCKER_INFLUXDB_INIT_ORG=my-org + - DOCKER_INFLUXDB_INIT_BUCKET=my-bucket + - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-super-token + restart: unless-stopped + +volumes: + influxdb-data: \ No newline at end of file diff --git a/mosquitto/config/mosquitto.conf b/mosquitto/config/mosquitto.conf new file mode 100644 index 0000000000000000000000000000000000000000..e06443ce0c7a6d6a94c041a1b5d91f3961d4b2f6 --- /dev/null +++ b/mosquitto/config/mosquitto.conf @@ -0,0 +1,23 @@ +# mosquitto.conf + +pid_file /var/run/mosquitto/mosquitto.pid +user mosquitto + +# MQTT Port +listener 1883 +# WebSocket Port (optional) +listener 9001 +protocol mqtt + +# Logging +log_dest file /mosquitto/log/mosquitto.log + +# Datenbank +persistence true +persistence_location /mosquitto/data/ + +# Max. Verbindungen +max_inflight_messages 100 + +# Default Authentifizierung (optional, falls du es später brauchst) +allow_anonymous true diff --git a/mosquitto/data/mosquitto.db b/mosquitto/data/mosquitto.db new file mode 100644 index 0000000000000000000000000000000000000000..25fde66c656e8df5eefa4dfb6c472bf1d7452b8d Binary files /dev/null and b/mosquitto/data/mosquitto.db differ