Seite 1 von 3

QNap Docker Mosquitto einrichten

Verfasst: 2. Feb 2022 20:43
von Murdock79
Hallo,
kann mir jemand erklären, was ich beim Installieren und Einrichten des MTQQ Dockers beachten muss?
Bei mir läuft OH 3.2.0 als Docker auf meiner QNAP. Ich habe es nicht geschafft den Mqtt Broker so einzurichten.
Ich habe den Docker mosquitto eclipse installiert. Jetzt muss ich den einrichten, damit er sich mit meinem OH Docker verbindet.
Ich erhalte folgenden Log in der Console:

Code: Alles auswählen

1643830013: mosquitto version 2.0.14 starting
1643830013: Config loaded from /mosquitto/config/mosquitto.conf.
1643830013: Starting in local only mode. Connections will only be possible from clients running on this machine.
1643830013: Create a configuration file which defines a listener to allow remote access.
1643830013: For more details see https://mosquitto.org/documentation/authentication-methods/
1643830013: Opening ipv4 listen socket on port 1883.
1643830013: Opening ipv6 listen socket on port 1883.
1643830013: Error: Address not available
1643830013: mosquitto version 2.0.14 running
Kann mir jemand erklären wie ich das richtig machen muss?

Re: QNap Docker Mosquitto einrichten

Verfasst: 3. Feb 2022 20:28
von int5749
Manchmal frage ich mich, ob die Suche noch funktioniert :? :D

Hast Du die Konfig bereits angepasst?? Schau evtl. mal hier
Vielleicht fehlt ja nur der EIntrag für den Port?

Re: QNap Docker Mosquitto einrichten

Verfasst: 3. Feb 2022 20:50
von Murdock79
Hallo,
klar funktioniert die Suche wunderbar. Leider war dieser Eintrag nicht die Lösung. Daher habe ich hier nochmal einen threat eröffnet.
Also ich habe den Docker mosquitto-eclipse (latest) installiert.
Dann habe die Installation aus der Containerstation entfernt und neu erstellt, damit die Einträge dass schon vorhanden sind.
Jetzt der erste Knackpunkt. Host/Bridge/Nat. Alle drei erfolglos versucht.
Dann die Ordner log data und config erstellt. Dann eine mosquitto.conf angelegt, mit listener 1883 + IP

Trotzdem kein Erfolg gehabt.
Welche Suche könnte ich noch benutzen, um zum Ziel zu kommen? 😉

Re: QNap Docker Mosquitto einrichten

Verfasst: 3. Feb 2022 21:32
von int5749
Murdock79 hat geschrieben: 3. Feb 2022 20:50 klar funktioniert die Suche wunderbar.
Dies galt mir als Selbstgespräch :lol: Denn ich konnte auch wenig finden, hatte den Thread aber noch im Kopf :mrgreen:
Da nchts von dem bereits geöffneten Port geschrieben war, hoffte ich dies könnte helfen.
Mit Docker kann ich pers. nicht helfen. Aber kommt bestimmt noch etwas 8-)

Re: QNap Docker Mosquitto einrichten

Verfasst: 5. Feb 2022 04:20
von udo1toni
Also, grundsätzlich ist erst mal wichtig , dass Du von extern Kontakt zu mosquitto bekommst, also z.B. mit dem mqtt Explorer oder mqtt.fx, nicht vom openHAB-Rechner aus...
Wie sieht Deine Konfiguration des Containers aus? Du musst den Port durchreichen oder wahlweise auch auf einen anderen Port verschieben, falls schon ein andres Programm auf 1883 läuft. dann muss natürlich an allen anderen Stellen die Konfiguration angepasst werden.

Re: QNap Docker Mosquitto einrichten

Verfasst: 7. Feb 2022 18:02
von Murdock79
Hallo,
also bisher bekomme ich nicht mal die Verbindung mit mqtt.fx hin.
Als Fehlermeldung erhalte ich 1644224997: Error: Address not available
Das Problem hatten schon andere, aber die Fehlerbehebung, die man bei google findet verstehe ich leider nicht.
Zu meiner Installation:
Ich habe das Qnap auf dem die Containerstation ist, die installation habe ich so gemacht:
1. eclipse-mosquitto in der latest Version heruntergeladen.
2. 1 Ordner mit 3 Unterordnern auf meiner Nas erstellt: Container/mosquitto/config, Container/mosquitto/log, Container/mosquitto/data
3. Im Ordner config liegt folgende die Datei mosquitto.conf mit folgenden Zeilen:

Code: Alles auswählen

pid_file /var/run/mosquitto.pid
persistence true
persistence_location /mqtt/data/
allow_anonymous true
user mosquitto
port 1883:192.168.2.100
log_dest file /mqtt/log/mosquitto.log
log_dest stdout
4. Installation in der Container Station:

Code: Alles auswählen

Abbild 	eclipse-mosquitto:latest-data-2
Typ 			Docker
Name 		eclipse-mosquitto-1
Befehl 		/usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf
Eingangspunkt   /docker-entrypoint.sh 
unter erweitert:

Code: Alles auswählen

 DOWNLOAD_SHA256 d	0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925
	
GPG_KEYS  				A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7
	
LWS_SHA256				842da21f73ccba2be59e680de10a8cce7928313048750eb6ad73b6fa50763c51
	
LWS_VERSION 				4.2.1
	
PATH 					/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
	
VERSION					2.0.14 
unter Netzwerk:
NAT (Aber auch schon Host und Bridge getestet)
Portweiterleitung: 1883 und 9001

unter Freigabeordner

Code: Alles auswählen

 /mosquitto/data		/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes
 						/f6f6f0d97aba2d14e2b8877a2c85411c5a89ec69dca4088b1248abbe78caee72/_data
	
	
/mosquitto/log			/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes
					/74918cd35e994b8deb2d650f85ef0a0972e788e91ad14161a4de359063dbdd43/_data
	
 
Und dann erstellt.
Was mach ich falsch????
Es läuft zwar der Docker, aber eben mit dem Error: Address not available daher kann ich ja nicht zugreifen.

Re: QNap Docker Mosquitto einrichten

Verfasst: 7. Feb 2022 23:42
von udo1toni
Die Angabe des Ports ist Quatsch. Ich habe gerade hier unter Docker Portainer mal nachgeschaut, und bei mir steht - wie auch bei einer normalen mosquitto Installation einer aktuellen Version folgendes in der mosquitto.conf (Kommentare habe ich entfernt):

Code: Alles auswählen

user mosquitto
port 1883
listener 9001
protocol websockets
persistence true
persistence_location /mosquitto/data
allow_anonymous false
password_file /mosquitto/config/passwd
Im Password File steht ein verschlüsseltes Passwort mit dem von mir angelegten User- Alternativ sollte allow_anonymous true natürlich genauso funktionieren.
Der Punkt ist aber die Angabe des ports, da kommt nur ein Port rein. Und der listener ist nicht optional (im Gegensatz zum Port...). Ich bin mir nicht sicher, ob tatsächlich beide Ports gebraucht werden, keinesfalls sollte man hier aber eine IP-Adresse angeben.

Re: QNap Docker Mosquitto einrichten

Verfasst: 8. Feb 2022 11:51
von Murdock79
leider alles versucht. Sogar die manuelle Installation über ssh. Immer der gleiche Fehler. Was ich nicht gemacht habe, ist die Sache mit dem Passwort.

Nochmal zum Verständnis:
die 3 Ordner log, data und config lege ich auf mein Nas in den Ordner Container --> mqtt.
Dort ist dann auch die mosquitto.conf im config Verzeichnis.
Würde ich eine passwortdatei erstellen, kommt die auch in den ordner config mit der Bezeichnung passwd?

Ich weiß echt nicht weiter, woran es liegt. :oops:
Gibt es eine Alternative zu mosquitto eclipse bzw. toke mosquitto ??

Re: QNap Docker Mosquitto einrichten

Verfasst: 8. Feb 2022 13:54
von Murdock79
Es hat geklappt.
Ich weiß auch nicht direkt, wieso. Habe alles nochmal von vorne gemacht und mich am Video https://www.youtube.com/watch?v=kQ159NLCJts orientiert, wobei ich allerdings eclipse-mosquitto verwendet habe. Ich habe den mount Pfad der 3 Dateien so gemacht:
/Container/config
/Container/data
/Container/log

die mosquitto.conf mit dem Qnap Editor erstellt
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /mqtt/data/
allow_anonymous true
user mosquitto
port 1883
log_dest file /mqtt/log/mosquitto.log
log_dest stdout

und als Netzwerk hier allerdings noch Bridge verwendet.

Iich will das gleiche Spiel nochmal mit NAT testen. Mal schauen, ob es dann auch funktioniert.
Dann kann ich bei openHab einfach als mqtt auf localhost verweisen.

Vielen Dank, für eure Hilfe.

Re: QNap Docker Mosquitto einrichten

Verfasst: 9. Feb 2022 00:41
von udo1toni
Murdock79 hat geschrieben: 8. Feb 2022 13:54 Dann kann ich bei openHab einfach als mqtt auf localhost verweisen.
Nein, das wird nicht gehen.

Getrennte Container haben immer unterschiedliche IP-Adressen, egal, ob sie nun geBRIDGEd oder geNATtet sind. Abgesehen davon sehe ich nicht wirklich, was es für einen Vorteil bringen soll, dass in openHAB ein localhost eingetragen ist. Ich habe in allen Diensten in meinem Netz entweder FQDN oder feste IP-Adressen eingetragen, wo das möglich ist. Natürlich gibt es Dienste, die so konfiguriert sind, dass sie ausschließlich über den Localloop erreichbar sind. Bei mqtt ist das aber nicht sinnvoll, schließlich soll der Broker auch mit anderen Geräten kommunizieren können.