Il est très facile d’installer un broker MQTT Mosquitto sur un NAS Synology à l’aide de l’application Docker. Depuis la version 6.2 de DSM (DiskStation Manager, le système d’exploitation des NAS Synology), la structure des dossiers Docker est différente. Synology a développé l’application Docker (attention, ce n’est pas l’application officielle Docker) qui permet de récupérer des images et de gérer facilement des conteneurs. C’est la méthode la plus facile pour installer, configurer, et démarrer des conteneurs si vous n’avez pas l’habitude des lignes de commande.
L’application Docker de Synology est toutefois limitée pour les réglages avancés. Il faudra utiliser le Terminal ou Powershell pour modifier le fichier de configuration de Mosquitto. Ce tutoriel a été réalisé sur un NAS Synology DS718+ équipé de 8GB de RAM.
Sommaire
NAS Synology compatibles avec Docker
Pour installer Mosquitto dans un conteneur Docker, il faut disposer d’un NAS compatible. Ce sont essentiellement des NAS équipés de processeurs Intel. Voici la liste des modèles de NAS Synology compatibles. La liste officielle se trouve sur cette page.
Série 19:RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+
Série 18:FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+
Série 17:FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+
Série 16:RS18016xs+, RS2416RP+, RS2416+, DS916+, DS716+, DS716+II, DS216+, DS216+II
Série 15:RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, DS415+
Série 14:RS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+
Série 13:RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+
Série 12:RS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, DS3612xs, DS1812+, DS1512+, DS712+, DS412+
Série 11:RS3411RPxs, RS3411xs, RS2211RP+, RS2211+, DS3611xs, DS2411+, DS1511+, DS411+, DS411+II
Série 10:RS810RP+, RS810+, DS1010+, DS710+ (DSM v6+)
Installer le gestionnaire Docker Synology
La première chose à faire est d’installer l’application Docker développée par Synology. Ouvrez le Centre de Paquets et faites une recherche sur le mot clé Docker dans le champ de recherche. Cliquer sur Installer.
Installer l’éditeur nano
Par défaut, il n’y a que l’éditeur standard VI qui est installé. C’est un éditeur un peu particulier à prendre en main. Heureusement, la communauté a développé un paquet pour installer très facilement l’éditeur nano que l’on connait mieux.
Ouvrez le centre de paquets et cliquer sur Paramètres.
Ajouter la source suivante et enregistrer.
http://packages.synocommunity.com/
Ouvrez la source Communauté qui a été ajoutée à la liste et faites une recherche avec le mot clé nano. Installer le paquet. L’éditeur Nano est disponible dès la fin de l’installation du paquet.
Configurer l’accès SSH
Dernière chose à faire avant d’installer Mosquitto, ouvrir l’accès SSH du NAS. Ouvrez le panneau de configuration et activez le mode avancé (dans le coin supérieur gauche). Ouvrez le panneau Terminal & SNMP puis
- Cochez Activer le service SSH
- Configurer le port. Par défaut, SSH utilise le port 22. Pour limiter les risques d’intrusion, vous pouvez le modifier.
- Appliquer les modifications. Il n’est pas nécessaire de redémarrer le NAS pour prendre en compte les nouveaux réglages.
Installer le broker MQTT Mosquitto
Lancez l’application Docker depuis le menu de DSM.
Ouvrer le panneau Registre et faites une recherche sur le mot clé mosquitto dans le champ de recherche. Sélectionner le dépôt eclipse-mosquitto officiel. Lancez le téléchargement en cliquant sur Télécharger dans la barre d’options.
Choisir latest (version la plus récente) dans la boite de dialogue qui s’affiche.
Tous les fichiers nécessaires au fonctionnement de Mosquitto (dockerfile) sont téléchargés dans la librairie d’images. Même si vous détruisez le conteneur, l’image restera disponible sur le disque. Cela permet par exemple de tester plusieurs configurations.
Sélectionner eclipse-mosquitto dans la liste et cliquer sur Lancer pour démarrer l’installation du broker.
Vous pouvez personnaliser le nom de conteneur. Cliquez ensuite sur paramètres avancés.
Cocher l’option Activer le redémarrage automatique qui permettra de relancer Mosquitto en cas de plantage.
Ne changez pas la configuration réseau. Par défaut, le mode bridge est sélectionné.
Sur l’onglet Paramètres des ports, cliquer sur le + pour ajouter une redirection de port. Ajouter un redirection du port 1883 du NAS vers le port 1883 du conteneur Mosquitto. Vous pouvez également ajouter une redirection vers le port 9001 si vous voulez vous connecter en websocket à Mosquitto.
Cliquer sur Appliquer pour terminer la configuration. Dans la fenêtre de synthèse qui s’affiche, cocher Exécuter ce conteneur lorsque l’assistant a terminé puis Appliquer.
Le conteneur démarre automatiquement et le broker Mosquitto est disponible immédiatement. Ouvrez l’onglet Conteneur puis détail pour afficher l’état du broker.
Modifier la configuration de Mosquitto. Ouvrir le port 9001
Dans la plupart des cas, vous ne devriez pas avoir besoin de toucher au fichier de configuration de Mosquitto. Nous allons toutefois voir comment faire. Vous aurez peut être besoin d’ouvrir le port 9001 qui permet de se connecter en Websocket à Mosquitto.
Connectez-vous en SSH à votre NAS. Utilisez Powershell ou Putty sur Windows, le Terminal de commande sur Linux ou macOS.
Une fois connecté, connectez vous en root avec la commande
sudo su -
Saisissez de nouveau votre mot de passe
Rechercher le chemin du fichier mosquitto.conf avec la commande
find / -name mosquitto.conf
Vous devriez obtenir quelque chose qui ressemble à ceci.
/volume1/@docker/btrfs/subvolumes/e22e9eda6d82a1ec8b772536eb339c611f306af1153f150c2ecb3e1a30922b11-init/mosquitto/config/mosquitto.conf /volume1/@docker/btrfs/subvolumes/e22e9eda6d82a1ec8b772536eb339c611f306af1153f150c2ecb3e1a30922b11/mosquitto/config/mosquitto.conf
Il ne faut ouvrir le fichier qui se trouve dans le dossier qui se terminant par -init.
Ouvrer le fichier de configuration avec la commande
nano /volume1/@docker/btrfs/subvolumes/e22e9eda6d82a1ec8b772536eb339c611f306af1153f150c2ecb3e1a30922b11/mosquitto/config/mosquitto.conf
Descendez le curseur dans la section Default listener et ajouter les ports souhaité. Par exemple
listener 1883 listener 9001
Combinaison Ctrl + X puis Y pour enregistrer. Re-démarrer le conteneur depuis DSM pour appliquer les modifications. N’oubliez pas d’ajouter une redirection vers le nouveau port si nécessaire.
Tutoriels sur MQTT pour objets connectés DIY
Voici d’autres tutoriels sur MQTT pour aller plus loin
- Jeedom. Publier en MQTT des commandes virtuelles vers ESP8266 ou ESP32 (interrupteur, poussoir, dimmer)
- Brokers MQTT en ligne avec une offre gratuite pour tester et connecter vos objets à internet
- Installer le broker MQTT Mosquitto sur NAS Synology (DSM 6.2+) avec Docker
- Routeur MQTT Node-RED vers cloudMQTT, accéder à vos modules Sonoff Tasmota
- Hack de la prise connectée Sonoff S26, installation du firmware Tasmota
- Test de cloudMQTT, broker MQTT en ligne gratuit. Piloter Domoticz avec l’API JSON
- Inclure les accessoires domotiques Xiaomi Aqara ou Mijia à Jeedom avec les plugins Virtuel et MQTT
- Test du détecteur de fumée Xiaomi Mijia Honeywell avec Domoticz, notification d’urgence avec PushOver
- Zigbee2MQTT. Inclure des accessoires Xiaomi Aqara à Domoticz via plugin ou Node-RED
- Assembler le pont Zigbee2MQTT, boitier, démo Node-RED. Hack ponts zigbee Hue et Xiaomi Aqara
- Hack du Xiaomi Mi Plant, intercepter et publier sur MQTT les mesures avec un Raspberry Pi (MiFlora-MQTT-Deamon)
- Hack Sonoff RF Bridge 433 (R1/R2), test du firmware OpenMQTTGateway
- Matériel et kit pour projet Zigbee2MQTT, pont domotique Zigbee Open Source compatible Xiaomi, Philips Hue, Tradfi…
- Inclure un objet connecté ESP8266 + DHT22 + Homie MQTT dans Home Assistant (HASS)
- Bien débuter avec la librairie Homie (MQTT) pour objets connectés à base d’ESP8266
- Node-RED + MQTT + ESP8266 : comment piloter un système articulé PTZ en WiFi
- ESP Easy + MQTT + Node-RED. Communication bi-directionnelle + dashboard
- Fabriquer une gateway WiFi / nRF24L01 MySensors 2.3 avec un ESP8266. Test avec Jeedom et Domoticz
- Instrument virtuel+Widget : améliorer l’affichage MQTT dans Jeedom
- Jeedom + MQTT, intégrer un objet connecté DIY au Dashboard (ESP8266, ESP32, Arduino)
- ESP8266 + DHT22 + MQTT : fabriquer un objet connecté et l’inclure dans Home Assistant
- Débuter avec le Broker MQTT Mosquitto (Raspberry Pi, Windows, macOS, Linux)
Avez-vous aimé cet article ?
[Total: 0 Moyenne: 0]