Update setup.sh and Readme
This commit is contained in:
63
README.md
63
README.md
@@ -57,10 +57,10 @@ nano .env
|
||||
|
||||
```bash
|
||||
# Container starten
|
||||
docker-compose up -d
|
||||
docker compose up -d
|
||||
|
||||
# Logs anschauen
|
||||
docker-compose logs -f
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
### 3. Benutzer erstellen
|
||||
@@ -69,7 +69,7 @@ docker-compose logs -f
|
||||
# Setup-Script ausführbar machen
|
||||
chmod +x setup.sh
|
||||
|
||||
# User aus .env erstellen
|
||||
# Alle User aus .env erstellen
|
||||
./setup.sh
|
||||
```
|
||||
|
||||
@@ -81,6 +81,19 @@ Das Script erstellt folgende User (Credentials aus .env):
|
||||
- `device2` - IoT Device 2
|
||||
- `monitor` - Read-Only
|
||||
|
||||
**Einzelnen User über CLI erstellen:**
|
||||
|
||||
```bash
|
||||
# Syntax: ./setup.sh create <username> <password>
|
||||
./setup.sh create myuser secret123
|
||||
```
|
||||
|
||||
⚠️ **WICHTIG**: Nach dem Erstellen eines neuen Users musst du:
|
||||
1. Die ACL-Regeln in `config/acl.conf` für den neuen User anpassen
|
||||
2. Mosquitto neu starten: `docker compose restart mosquitto`
|
||||
|
||||
Ohne ACL-Eintrag hat der neue User keine Zugriffsrechte!
|
||||
|
||||
### 4. Dashboard öffnen
|
||||
|
||||
Web Dashboard: **http://localhost:5000**
|
||||
@@ -123,21 +136,33 @@ docker exec mosquitto-mqtt mosquitto_sub -h localhost -t "#" -v -u admin -P <ADM
|
||||
|
||||
### Neuen User hinzufügen
|
||||
|
||||
**Empfohlen - Via Setup-Script:**
|
||||
```bash
|
||||
# Einzelnen User erstellen
|
||||
./setup.sh create username password123
|
||||
```
|
||||
|
||||
⚠️ **Danach ACL anpassen**: Bearbeite `config/acl.conf` und füge Regeln für den neuen User hinzu, dann:
|
||||
```bash
|
||||
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
|
||||
|
||||
# ACL in config/acl.conf anpassen und Container neu starten
|
||||
docker compose restart mosquitto
|
||||
```
|
||||
|
||||
### User löschen
|
||||
|
||||
```bash
|
||||
docker exec -it mosquitto-mqtt mosquitto_passwd -D /mosquitto/config/passwords.txt USERNAME
|
||||
```
|
||||
|
||||
### Mosquitto neu laden (nach User-Änderungen)
|
||||
|
||||
```bash
|
||||
docker-compose restart mosquitto
|
||||
# Container neu starten
|
||||
docker compose restart mosquitto
|
||||
```
|
||||
|
||||
## ACL Konfiguration (acl.conf)
|
||||
@@ -167,7 +192,7 @@ topic read public/#
|
||||
|
||||
Nach ACL-Änderungen Container neu starten:
|
||||
```bash
|
||||
docker-compose restart mosquitto
|
||||
docker compose restart mosquitto
|
||||
```
|
||||
|
||||
## Dashboard
|
||||
@@ -183,7 +208,7 @@ Die Dashboard-Einstellungen werden über Umgebungsvariablen in der `.env` Datei
|
||||
|
||||
Nach Änderungen Container neu starten:
|
||||
```bash
|
||||
docker-compose restart mqttui
|
||||
docker compose restart mqttui
|
||||
```
|
||||
|
||||
## Test-Nachrichten senden
|
||||
@@ -264,13 +289,13 @@ client.on('connect', () => {
|
||||
|
||||
```bash
|
||||
# Alle Logs
|
||||
docker-compose logs -f
|
||||
docker compose logs -f
|
||||
|
||||
# Nur Mosquitto
|
||||
docker-compose logs -f mosquitto
|
||||
docker compose logs -f mosquitto
|
||||
|
||||
# Nur MQTTUI
|
||||
docker-compose logs -f mqttui
|
||||
docker compose logs -f mqttui
|
||||
```
|
||||
|
||||
### In Container einsteigen
|
||||
@@ -332,22 +357,22 @@ keyfile /mosquitto/config/server.key
|
||||
|
||||
```bash
|
||||
# Starten
|
||||
docker-compose up -d
|
||||
docker compose up -d
|
||||
|
||||
# Stoppen
|
||||
docker-compose stop
|
||||
docker compose stop
|
||||
|
||||
# Neu starten
|
||||
docker-compose restart
|
||||
docker compose restart
|
||||
|
||||
# Stoppen und löschen
|
||||
docker-compose down
|
||||
docker compose down
|
||||
|
||||
# Stoppen, löschen inkl. Volumes
|
||||
docker-compose down -v
|
||||
docker compose down -v
|
||||
|
||||
# Nur mosquitto neu starten
|
||||
docker-compose restart mosquitto
|
||||
docker compose restart mosquitto
|
||||
```
|
||||
|
||||
## Support & Dokumentation
|
||||
|
||||
Binary file not shown.
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