Installer le broker MQTT Mosquitto sur NAS Synology (DSM 6.2+) avec Docker

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.

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.

install docker nas synology dsm 6.2

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.

nas synology dsm 6.2 centre paquet ajouter source

Ajouter la source suivante et enregistrer.

http://packages.synocommunity.com/

nas synology community source

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.

nas synology install nano editor dsm 6.2

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.

nas synology dsm 6.2 activate ssh port

Installer le broker MQTT Mosquitto

Lancez l’application Docker depuis le menu de DSM.

nas synology docker application

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.

nas synology docker mosquitto download latest

Choisir latest (version la plus récente) dans la boite de dialogue qui s’affiche.

nas synology mosquitto latest

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.

nas synology install mosquitto image

Vous pouvez personnaliser le nom de conteneur. Cliquez ensuite sur paramètres avancés.

Remarque. Contrairement au gestionnaire Docker QNAP, la plupart des paramètres sont modifiables après la création du conteneur (d’ailleurs, il me semble que tous les paramètres peuvent être modifiés).

nas synology install docker mosquitto

Cocher l’option Activer le redémarrage automatique qui permettra de relancer Mosquitto en cas de plantage.

nas synology install docker mosquitto autostart

Ne changez pas la configuration réseau. Par défaut, le mode bridge est sélectionné.

nas synology install docker mosquitto reseau

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.

nas synology install docker mosquitto port 1883 9001

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.

 nas synology install docker mosquitto summary

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.

nas synology mosquitto container status

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

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

Promos à ne pas louper

Poster un Commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  S’abonner  
Notifier de
Domotique et objets connectés à faire soi-même