Update setup.sh and Readme
This commit is contained in:
39
setup.sh
39
setup.sh
@@ -2,9 +2,46 @@
|
||||
|
||||
# MQTT Setup Script - Erstellt User für Mosquitto
|
||||
# ================================================
|
||||
#
|
||||
# Verwendung:
|
||||
# ./setup.sh - Erstellt alle User aus .env
|
||||
# ./setup.sh create <username> <password> - Erstellt einzelnen User
|
||||
|
||||
set -e
|
||||
|
||||
# CLI-Modus: Einzelnen User erstellen
|
||||
if [ "$1" == "create" ]; then
|
||||
if [ -z "$2" ] || [ -z "$3" ]; then
|
||||
echo "❌ Fehler: Username und Passwort erforderlich!"
|
||||
echo "Verwendung: $0 create <username> <password>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
USERNAME="$2"
|
||||
PASSWORD="$3"
|
||||
|
||||
# Prüfe ob Docker läuft
|
||||
if ! docker info > /dev/null 2>&1; then
|
||||
echo "❌ Fehler: Docker ist nicht gestartet!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Prüfe ob Container läuft
|
||||
if ! docker ps | grep -q mosquitto-mqtt; 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"
|
||||
echo "✅ User $USERNAME erfolgreich erstellt/aktualisiert!"
|
||||
echo ""
|
||||
echo "⚠️ Vergiss nicht, ACL-Regeln in config/acl.conf anzupassen!"
|
||||
echo "Und Mosquitto neu zu starten: docker compose restart mosquitto"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Lade Umgebungsvariablen aus .env
|
||||
if [ ! -f .env ]; then
|
||||
echo "❌ Fehler: .env Datei nicht gefunden!"
|
||||
@@ -48,7 +85,7 @@ fi
|
||||
# Prüfe ob Container läuft
|
||||
if ! docker ps | grep -q mosquitto-mqtt; then
|
||||
echo "⚠️ Mosquitto Container läuft nicht. Starte Container..."
|
||||
docker-compose up -d mosquitto
|
||||
docker compose up -d mosquitto
|
||||
echo "⏳ Warte 5 Sekunden bis Mosquitto gestartet ist..."
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user