MQTT-Broker Mosquitto als Docker Image auf einem NAS installieren

Da mir mein Raspi neulich den Dienst verweigert hat und daher eine Reihe von Daten nciht mehr erfasst wurden, habe ich einen alternativen "Betreiber" für dem MQTT-Broker Mosquitto gesucht. Dabei bin ich wieder bei Docker gelandet, welcher aals Service auf meinem Synology NAS läuft. Im Folgenden beschreibe ich kurz, welche Einstellungen ich vorgenommen habe, damit Mosquitto fehlerfrei läuft.
Installation
Als Paket wird "eclipse-mosquitto" in der "Latest-Version" heruntergeladen.
Unter dem Verzeichnis Docker wird dann das Verzeichnis "mosquitto" sowie darunter die folgenden Unterverzeichnisse angelegt:
- config
- data
- log
im Verzeichnis config wird nun eine Datei "mosquitto.conf" erstellt, die folgenden Inhalt hat:
Entweder man lädt die erstellte Datei einfach in das Verzeichnis hoch oder nutzt den Texteditor vom Synology DSM, um diese zu erstellen. Insbesondere die vierte Zeile ist wichtig, da sich sonst niemand beim Broker anmelden kann.
Die Pfade für das Docker Image werden dann wie folgt gesetzt:
File/Folder | Mount Path |
---|---|
docker/mosquitto/config/mosquitto.conf | /mosquitto.conf |
docker/mosquitto/config | /mosquitto/config |
docker/mosquitto/data | /mosquitto/data |
docker/mosquitto/log | /mosquitto/log |
Nun müssen für den Container nur noch folgende Daten angegeben werden:
- Beliebiger Name für den Container
- Netzwerk: bridge
- Automatischen Neustart aktivieren
- Lokaler Port 1883 und Container Port 1883, TCP
- Lokaler Port 9001 und Container Port 9001, TCP
In den Umgebungsvariabeln setze ich immer zusätzlich die Timezone, da die automatische Übernahme vom Synology DSM schon mal nicht funktioniert hat:
- TZ Europe/Berlin
Das wars. Nach dem Starten sollte der Broker laufen und ansprechbar sein. Ich überprüfe das beispielsweise mit dem MQTT-Explorer.
Danke für die super Anleitung.
Ich musste den Mount Path für die Custom Config ändern zu „/mosquitto/config/mosquitto.conf“
Danke für den Hinweis, ich habe das im Artikel schon geändert.
Danke RS und Danke Dieter der Pfad zur Config ist im Text nicht geändert.
Jetzt habe ich auch die Tabelle nochmal angepasst.
Ich denke die Tabelle stimmt immer noch nicht ;-). Sollte wohl heißen:
docker/mosquitto/config/mosquitto.conf -> /mosquitto/config/mosquitto.conf
Danke für die Anleitung
Die mosquitto.conf steht i.d.R. im Moosquitto-Root Verzeichnis, daher ist die Angabe in der Tabelle richtig.
BG Dieter
Wie kann man die Benutzerauthentisierung aktivieren?
BG Martin
Das ist z.B. auf dieser Seite beschrieben http://www.steves-internet-guide.com/mqtt-username-password-example/
BG
Dieter