diff --git a/.env b/.env
new file mode 100644
index 0000000..628af78
--- /dev/null
+++ b/.env
@@ -0,0 +1,9 @@
+# InfluxDB
+INFLUXDB_URL=http://influxdb:8086
+INFLUXDB_ORG=Bischoffsheim
+INFLUXDB_BUCKET=Temperaturen
+INFLUXDB_TOKEN=1wml0Wzrno-VPHxw0N4CSJh42aTAE-zCCAnAj8BLY_YxsmexXO6_8o7i1HDdAPzDUndCCsejWKq9GJXeYFDhpQ==
+
+# MQTT
+MQTT_USER=dein_user
+MQTT_PASS=dein_passwort
diff --git a/Shelly Temperaturen-1768062818067.json b/Pool/Shelly Temperaturen-1768062818067.json
similarity index 100%
rename from Shelly Temperaturen-1768062818067.json
rename to Pool/Shelly Temperaturen-1768062818067.json
diff --git a/grafana/docker-compos.yml b/Pool/grafana/docker-compos.yml
similarity index 100%
rename from grafana/docker-compos.yml
rename to Pool/grafana/docker-compos.yml
diff --git a/influx/docker-compose.yml b/Pool/influx/docker-compose.yml
similarity index 100%
rename from influx/docker-compose.yml
rename to Pool/influx/docker-compose.yml
diff --git a/mqtt/Links b/Pool/mqtt/Links
similarity index 100%
rename from mqtt/Links
rename to Pool/mqtt/Links
diff --git a/mqtt/README.md b/Pool/mqtt/README.md
similarity index 100%
rename from mqtt/README.md
rename to Pool/mqtt/README.md
diff --git a/mqtt/config/mosquitto.conf b/Pool/mqtt/config/mosquitto.conf
similarity index 100%
rename from mqtt/config/mosquitto.conf
rename to Pool/mqtt/config/mosquitto.conf
diff --git a/mqtt/docker-compose.yml b/Pool/mqtt/docker-compose.yml
similarity index 100%
rename from mqtt/docker-compose.yml
rename to Pool/mqtt/docker-compose.yml
diff --git a/telegraf/.env b/Pool/telegraf/.env
similarity index 100%
rename from telegraf/.env
rename to Pool/telegraf/.env
diff --git a/telegraf/docker-compose.yml b/Pool/telegraf/docker-compose.yml
similarity index 100%
rename from telegraf/docker-compose.yml
rename to Pool/telegraf/docker-compose.yml
diff --git a/telegraf/telegraf.conf b/Pool/telegraf/telegraf.conf
similarity index 100%
rename from telegraf/telegraf.conf
rename to Pool/telegraf/telegraf.conf
diff --git a/README.md b/README.md
index c16dc85..eff086f 100644
--- a/README.md
+++ b/README.md
@@ -23,4 +23,20 @@ Stack
-
\ No newline at end of file
+
+
+>git clone https://git.hintergasse.de/hubobel/MTIG-Stack.git
+
+>cd MTIG-Stack
+
+>mkdir -p \
+> influxdb/{data,config} \
+> grafana/{data,config} \
+> mosquitto/{config,data,log} \
+> telegraf
+
+>chown -R 472:472 grafana
+
+>docker compose up -d --force-recreate
+
+>docker ps
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..b309c32
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,77 @@
+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
diff --git a/telegraf.conf b/telegraf.conf
new file mode 100644
index 0000000..11b899c
--- /dev/null
+++ b/telegraf.conf
@@ -0,0 +1,87 @@
+# -------------------------------------------------------------------
+# Telegraf Agent
+# -------------------------------------------------------------------
+[agent]
+ interval = "10s"
+ round_interval = true
+
+ metric_batch_size = 1000
+ metric_buffer_limit = 10000
+
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "0s"
+
+ precision = ""
+ hostname = ""
+ omit_hostname = false
+
+
+# -------------------------------------------------------------------
+# OUTPUT: InfluxDB v2
+# -------------------------------------------------------------------
+[[outputs.influxdb_v2]]
+ urls = ["${INFLUXDB_URL}"]
+ token = "${INFLUXDB_TOKEN}"
+ organization = "${INFLUXDB_ORG}"
+ bucket = "${INFLUXDB_BUCKET}"
+
+
+# -------------------------------------------------------------------
+# INPUT 1: MQTT JSON (Temperaturen)
+# Topics: daten/status/+
+# -------------------------------------------------------------------
+[[inputs.mqtt_consumer]]
+ servers = ["tcp://mqtt5:1883"]
+ topics = ["daten/status/+"]
+
+ qos = 1
+ persistent_session = true
+ client_id = "telegraf_mqtt_temperature"
+
+ username = "${MQTT_USER}"
+ password = "${MQTT_PASS}"
+
+ topic_tag = "topic"
+ data_format = "json_v2"
+
+ [[inputs.mqtt_consumer.json_v2]]
+ measurement_name = "temperature"
+
+ [[inputs.mqtt_consumer.json_v2.tag]]
+ path = "id"
+ rename = "sensor_id"
+ type = "int"
+
+ [[inputs.mqtt_consumer.json_v2.field]]
+ path = "tC"
+ rename = "tC"
+ type = "float"
+
+ [[inputs.mqtt_consumer.json_v2.field]]
+ path = "tF"
+ rename = "tF"
+ type = "float"
+
+
+# -------------------------------------------------------------------
+# INPUT 2: MQTT Plain Values (Power)
+# Topics: daten/status/power/+
+# Payload: z. B. 396.963
+# -------------------------------------------------------------------
+[[inputs.mqtt_consumer]]
+ servers = ["tcp://mqtt5:1883"]
+ topics = ["daten/status/power/+"]
+
+ qos = 1
+ persistent_session = true
+ client_id = "telegraf_mqtt_power"
+
+ username = "${MQTT_USER}"
+ password = "${MQTT_PASS}"
+
+ data_format = "value"
+ data_type = "float"
+ name_override = "power"
+
+ topic_tag = "topic"