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:

Copy to Clipboard

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.