diff --git a/CLAUDE.md b/CLAUDE.md index 26ec8bd..29cec4d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -80,10 +80,10 @@ docker-compose down -v ### User Management ```bash # Add/update user password -docker exec -it mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt USERNAME PASSWORD +docker exec -it mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt USERNAME PASSWORD # Delete user -docker exec -it mosquitto-mqtt mosquitto_passwd -D /mosquitto/config/passwords.txt USERNAME +docker exec -it mosquitto mosquitto_passwd -D /mosquitto/config/passwords.txt USERNAME # After modifying users or ACL, restart Mosquitto docker-compose restart mosquitto @@ -95,22 +95,22 @@ docker-compose restart mosquitto ./test-mqtt.sh # Publish to public topic (no auth required) -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "public/test" -m "Hello" +docker exec mosquitto mosquitto_pub -h localhost -t "public/test" -m "Hello" # Publish with authentication -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "sensors/temperature" -m "22.5" -u admin -P admin123 +docker exec mosquitto mosquitto_pub -h localhost -t "sensors/temperature" -m "22.5" -u admin -P admin123 # Subscribe to all topics -docker exec mosquitto-mqtt mosquitto_sub -h localhost -t '#' -v -u admin -P admin123 +docker exec mosquitto mosquitto_sub -h localhost -t '#' -v -u admin -P admin123 # Subscribe to public topics only (no auth) -docker exec mosquitto-mqtt mosquitto_sub -h localhost -t 'public/#' -v +docker exec mosquitto mosquitto_sub -h localhost -t 'public/#' -v # Test Mosquitto configuration -docker exec mosquitto-mqtt mosquitto -c /mosquitto/config/mosquitto.conf -v +docker exec mosquitto mosquitto -c /mosquitto/config/mosquitto.conf -v # Access container shell -docker exec -it mosquitto-mqtt sh +docker exec -it mosquitto sh docker exec -it mqttui sh ``` diff --git a/README.md b/README.md index 90d8489..af298d8 100644 --- a/README.md +++ b/README.md @@ -113,10 +113,10 @@ Topic: `public/*` **Beispiel mit mosquitto_pub:** ```bash # Nachricht an öffentliches Topic senden (KEINE Authentifizierung) -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "public/test" -m "Hallo Welt!" +docker exec mosquitto mosquitto_pub -h localhost -t "public/test" -m "Hallo Welt!" # Öffentliches Topic abhören -docker exec mosquitto-mqtt mosquitto_sub -h localhost -t "public/#" -v +docker exec mosquitto mosquitto_sub -h localhost -t "public/#" -v ``` ### Mit Authentifizierung @@ -124,10 +124,10 @@ docker exec mosquitto-mqtt mosquitto_sub -h localhost -t "public/#" -v **Beispiel mit Admin User:** ```bash # Mit Authentifizierung publishen (Credentials aus .env verwenden) -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "devices/device1/status" -m "online" -u admin -P +docker exec mosquitto mosquitto_pub -h localhost -t "devices/device1/status" -m "online" -u admin -P # Mit Authentifizierung subscriben (Credentials aus .env verwenden) -docker exec mosquitto-mqtt mosquitto_sub -h localhost -t "#" -v -u admin -P +docker exec mosquitto mosquitto_sub -h localhost -t "#" -v -u admin -P ``` 💡 **Hinweis**: Ersetze `` mit dem Passwort aus deiner `.env` Datei. @@ -150,7 +150,7 @@ docker compose restart mosquitto **Alternativ - Manuell:** ```bash # User hinzufügen/ändern -docker exec -it mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt USERNAME PASSWORD +docker exec -it mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt USERNAME PASSWORD # ACL in config/acl.conf anpassen und Container neu starten docker compose restart mosquitto @@ -159,7 +159,7 @@ docker compose restart mosquitto ### User löschen ```bash -docker exec -it mosquitto-mqtt mosquitto_passwd -D /mosquitto/config/passwords.txt USERNAME +docker exec -it mosquitto mosquitto_passwd -D /mosquitto/config/passwords.txt USERNAME # Container neu starten docker compose restart mosquitto @@ -217,12 +217,12 @@ docker compose restart mqttui ```bash # Öffentlich (ohne Auth) -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "public/message" -m "Test Nachricht" +docker exec mosquitto mosquitto_pub -h localhost -t "public/message" -m "Test Nachricht" # Mit Auth (Passwort aus .env verwenden) -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "sensors/temperature" -m "22.5" -u admin -P -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "sensors/humidity" -m "65" -u admin -P -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "system/cpu" -m "45" -u admin -P +docker exec mosquitto mosquitto_pub -h localhost -t "sensors/temperature" -m "22.5" -u admin -P +docker exec mosquitto mosquitto_pub -h localhost -t "sensors/humidity" -m "65" -u admin -P +docker exec mosquitto mosquitto_pub -h localhost -t "system/cpu" -m "45" -u admin -P ``` Oder verwende das Test-Script: @@ -302,7 +302,7 @@ docker compose logs -f mqttui ```bash # Mosquitto Container -docker exec -it mosquitto-mqtt sh +docker exec -it mosquitto sh # MQTTUI Container docker exec -it mqttui sh @@ -311,7 +311,7 @@ docker exec -it mqttui sh ### Mosquitto Konfiguration testen ```bash -docker exec mosquitto-mqtt mosquitto -c /mosquitto/config/mosquitto.conf -v +docker exec mosquitto mosquitto -c /mosquitto/config/mosquitto.conf -v ``` ### Permissions Fehler diff --git a/docker-compose.yml b/docker-compose.yml index 6caaf25..c9d46b1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ services: mosquitto: image: eclipse-mosquitto:2 - container_name: mosquitto-mqtt + container_name: mosquitto restart: unless-stopped user: "${UID:-1000}:${GID:-1000}" ports: diff --git a/setup.sh b/setup.sh index 5c68b77..0ba1a2f 100644 --- a/setup.sh +++ b/setup.sh @@ -27,14 +27,14 @@ if [ "$1" == "create" ]; then fi # Prüfe ob Container läuft - if ! docker ps | grep -q mosquitto-mqtt; then + if ! docker ps | grep -q mosquitto; then echo "❌ Fehler: Mosquitto Container läuft nicht!" echo "Starte zuerst die Container mit: docker compose up -d" exit 1 fi echo "📝 Erstelle User: $USERNAME" - docker exec mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt "$USERNAME" "$PASSWORD" + docker exec mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt "$USERNAME" "$PASSWORD" echo "✅ User $USERNAME erfolgreich erstellt/aktualisiert!" echo "" echo "⚠️ Vergiss nicht, ACL-Regeln in config/acl.conf anzupassen!" @@ -83,7 +83,7 @@ if ! docker info > /dev/null 2>&1; then fi # Prüfe ob Container läuft -if ! docker ps | grep -q mosquitto-mqtt; then +if ! docker ps | grep -q mosquitto; then echo "⚠️ Mosquitto Container läuft nicht. Starte Container..." docker compose up -d mosquitto echo "⏳ Warte 5 Sekunden bis Mosquitto gestartet ist..." @@ -95,31 +95,31 @@ echo "" # Admin User echo "➡️ Erstelle Admin User (Vollzugriff)" -docker exec -it mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_ADMIN_USERNAME" "$MQTT_ADMIN_PASSWORD" +docker exec -it mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_ADMIN_USERNAME" "$MQTT_ADMIN_PASSWORD" echo " ✅ User: $MQTT_ADMIN_USERNAME erstellt" # Panel User für Web UI echo "➡️ Erstelle Panel User (für Web Dashboard)" -docker exec -it mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_PANEL_USERNAME" "$MQTT_PANEL_PASSWORD" +docker exec -it mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_PANEL_USERNAME" "$MQTT_PANEL_PASSWORD" echo " ✅ User: $MQTT_PANEL_USERNAME erstellt" # Test User echo "➡️ Erstelle Test User" -docker exec -it mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_TESTUSER_USERNAME" "$MQTT_TESTUSER_PASSWORD" +docker exec -it mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_TESTUSER_USERNAME" "$MQTT_TESTUSER_PASSWORD" echo " ✅ User: $MQTT_TESTUSER_USERNAME erstellt" # Device User echo "➡️ Erstelle Device1 User" -docker exec -it mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_DEVICE1_USERNAME" "$MQTT_DEVICE1_PASSWORD" +docker exec -it mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_DEVICE1_USERNAME" "$MQTT_DEVICE1_PASSWORD" echo " ✅ User: $MQTT_DEVICE1_USERNAME erstellt" echo "➡️ Erstelle Device2 User" -docker exec -it mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_DEVICE2_USERNAME" "$MQTT_DEVICE2_PASSWORD" +docker exec -it mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_DEVICE2_USERNAME" "$MQTT_DEVICE2_PASSWORD" echo " ✅ User: $MQTT_DEVICE2_USERNAME erstellt" # Monitor User (Read-Only) echo "➡️ Erstelle Monitor User (Read-Only)" -docker exec -it mosquitto-mqtt mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_MONITOR_USERNAME" "$MQTT_MONITOR_PASSWORD" +docker exec -it mosquitto mosquitto_passwd -b /mosquitto/config/passwords.txt "$MQTT_MONITOR_USERNAME" "$MQTT_MONITOR_PASSWORD" echo " ✅ User: $MQTT_MONITOR_USERNAME erstellt" echo "" @@ -138,7 +138,7 @@ echo "" echo "⚠️ Passwörter sind in der .env Datei definiert" echo "" echo "Mosquitto neu laden..." -docker exec mosquitto-mqtt mosquitto -c /mosquitto/config/mosquitto.conf & +docker exec mosquitto mosquitto -c /mosquitto/config/mosquitto.conf & echo "" echo "🚀 MQTT Broker läuft auf:" diff --git a/test-mqtt.sh b/test-mqtt.sh index cc123d5..887fe0a 100644 --- a/test-mqtt.sh +++ b/test-mqtt.sh @@ -9,7 +9,7 @@ echo "================================================" echo "" # Prüfe ob Container läuft -if ! docker ps | grep -q mosquitto-mqtt; then +if ! docker ps | grep -q mosquitto; then echo "❌ Fehler: Mosquitto Container läuft nicht!" echo " Starte mit: docker-compose up -d" exit 1 @@ -20,37 +20,37 @@ echo "" # Test 1: Öffentliches Topic (OHNE Authentifizierung) echo "1️⃣ Öffentliches Topic (ohne Auth): public/message" -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "public/message" -m "Hallo von public!" +docker exec mosquitto mosquitto_pub -h localhost -t "public/message" -m "Hallo von public!" echo " ✅ Gesendet" echo "" # Test 2: Temperature Sensor (MIT Authentifizierung) echo "2️⃣ Temperature Sensor: sensors/temperature" -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "sensors/temperature" -m "22.5" -u admin -P admin123 +docker exec mosquitto mosquitto_pub -h localhost -t "sensors/temperature" -m "22.5" -u admin -P admin123 echo " ✅ Gesendet: 22.5°C" echo "" # Test 3: Humidity Sensor echo "3️⃣ Humidity Sensor: sensors/humidity" -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "sensors/humidity" -m "65" -u admin -P admin123 +docker exec mosquitto mosquitto_pub -h localhost -t "sensors/humidity" -m "65" -u admin -P admin123 echo " ✅ Gesendet: 65%" echo "" # Test 4: CPU Usage echo "4️⃣ CPU Usage: system/cpu" -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "system/cpu" -m "45" -u admin -P admin123 +docker exec mosquitto mosquitto_pub -h localhost -t "system/cpu" -m "45" -u admin -P admin123 echo " ✅ Gesendet: 45%" echo "" # Test 5: Device Power Toggle echo "5️⃣ Device Power: devices/device1/power" -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "devices/device1/power" -m "ON" -u admin -P admin123 +docker exec mosquitto mosquitto_pub -h localhost -t "devices/device1/power" -m "ON" -u admin -P admin123 echo " ✅ Gesendet: ON" echo "" # Test 6: Device Brightness echo "6️⃣ Device Brightness: devices/device1/brightness" -docker exec mosquitto-mqtt mosquitto_pub -h localhost -t "devices/device1/brightness" -m "75" -u admin -P admin123 +docker exec mosquitto mosquitto_pub -h localhost -t "devices/device1/brightness" -m "75" -u admin -P admin123 echo " ✅ Gesendet: 75%" echo "" @@ -62,8 +62,8 @@ echo "🌐 Öffne das Dashboard: http://localhost:8080" echo " Die Test-Daten sollten jetzt in den Widgets sichtbar sein." echo "" echo "📊 Subscribe auf alle Topics:" -echo " docker exec mosquitto-mqtt mosquitto_sub -h localhost -t '#' -v -u admin -P admin123" +echo " docker exec mosquitto mosquitto_sub -h localhost -t '#' -v -u admin -P admin123" echo "" echo "📡 Subscribe auf öffentliche Topics (ohne Auth):" -echo " docker exec mosquitto-mqtt mosquitto_sub -h localhost -t 'public/#' -v" +echo " docker exec mosquitto mosquitto_sub -h localhost -t 'public/#' -v" echo ""