Si vous trouvez que l’installation de Jeedom sur un Raspberry Pi 3 manque de fiabilité et de performance, vous pouvez opter pour un NAS (Network Attached Storage). Revers de la médaille, le ticket d’entrée est beaucoup plus élevé et demande d’un peu plus de connaissance de base (mais rien d’insurmontable comme vous allez le voir dans ce tutoriel). Comptez environ 550€ pour une configuration x86 équipée de 8GB de RAM et 2x2To de stockage.
Dans ce tutoriel, nous allons tester l’installation de Jeedom sur une machine virtuelle Debian ainsi que dans un conteneur Docker. Ce tutoriel a été réalisé sur un NAS QNAP TS-251A mais la procédure sera très similaire pour d’autres modèles ou d’autres fabricants NAS (Synology, QNAP, TerraMaster…)
Sommaire
- 1 Quel NAS choisir ?
- 2 Quelques conseils avant de commencer
- 3 Configuration testée : NAS QNAP TS-251A
- 4 Installer Container Station, Virtualization Station et Download Station
- 5 Installer Jeedom sur une machine virtuelle Debian
- 5.1 Télécharger Debian Stretch ou supérieur
- 5.2 Créer la machine virtuelle Debian
- 5.3 Donner un accès aux ports USB pour Z-Wave, RFXCom, Zigbee…
- 5.4 Connectez-vous en SSH à la machine virtuelle
- 5.5 Vérifier que la commande sudo est disponible
- 5.6 Comment attribuer une adresse IP fixe à la machine Virtuelle ?
- 5.7 Installer Jeedom sur la machine virtuelle Debian Stretch
- 5.8 Test du plugin Z-Wave
- 5.9 Sauvegarder la VM Jeedom (manuel ou planifié)
- 5.10 Avantages et inconvénients d’une VM Jeedom
- 5.11 Créer le container Jeedom
- 5.12 Démarrer MySQL automatiquement au lancement du container Jeedom
- 5.13 Vous avez oublié de re-diriger le port 80, votre NAS QNAP n’est plus accessible, comment faire ?
- 5.14 Avantages et inconvénients d’un docker Jeedom Debian
- 6 Configuration testée
- 7 Piloter le dashboard Jeedom à l’aide d’un écran tactile
- 8 Et maintenant, quoi faire avec Jeedom ?
Quel NAS choisir ?
NAS Synology DS718+
Les NAS équipés de processeurs ARM permettent de déployer des conteneurs Docker mais vous risquer de rencontrer des difficultés pour utiliser des contrôleurs branchées sur le port USB du NAS (Z-Wave, RFXCom, RFlink, bluetooth, sniffer Zigbee..). En effet, bien souvent les drivers n’ont pas été compilés pour les NAS à base de processeur ARM (Alpine AL-212, Alpine AL-314…). Il est possible de le faire mais c’est assez long et difficile.
Je vous conseille donc d’opter directement pour un NAS équipé d’un processeur intel x86. Ils sont un peu plus chers mais vous serez en terrain connu. Choisissez également un modèle qui permet d’ajouter une extension de RAM. Les modèles d’entrée de gamme sont souvent limités à 1GB de mémoire. C’est suffisant pour Docker mais la virtualisation est quasi impossible. Il faudra au moins 4GB pour faire faire fonctionner une machine virtuelle correctement.
Pour bien choisir votre NAS, vous pouvez commencer par lire ce guide qui fait le point sur les différents modèles prenant en charge la virtualisation ou Docker.
DS218+ | DS718+ | TS-251+ | |
---|---|---|---|
Processeur | Intel Celeron J3355
Dual Core@2.0 GHz |
Intel Celeron J3455
Quad Core@2.3 GHz |
Intel Celeron J1900
Quad-core @ 2,0 GHz |
RAM | 2 GB DDR3L | 2 GB DDR3L | 2 Go DDR3L SO-DIMM |
RAM max | 6 GB (2 GB + 4 GB) | 6 GB (2 GB + 4 GB) | 8 GB (2 x 4 GB ) |
Nombre VM max.* | 2 | 2 | 2 |
Stockage max. | 28 TO
2 x 14 TO (RAID0) |
28 TO
2 x 14 TO (RAID0) |
non précisé |
Transcodage | H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s | H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s | non précisé |
USB 2.0 | x2 | x2 | |
USB 3.0 | x1 | x3 | x2 |
Ethernet 1GbE | x1 | x2 | x2 |
eSATA | x1 | x1 | x1 |
Sortie HDMI | x1@1080p | ||
Bruit | 19.3 dB(A) | 18.4 dB(A) | 15,4 db(A) |
Conso. normale | 17,23W | 20,1 W | 18,09 W |
Conso. en veille | 5,4 W | 9,1 W | 10,56 W |
Fiche technique | Consulter | Consulter | Consulter |
Tarif Nu** | ~ 340€ | ~445€ | ~ 365€ |
(*) nécessite au moins 4GB de RAM pour pouvoir installer l’application de Virtualization Station (QNAP) ou Virtual Machine Manager de Synology.
Coté performances brutes des CPU, le processeur Intel Celeron J1900 qui équipe le QNAP TS-251+ est 54% plus puissant que le Celeron J3355 du Synology DS218+ d’après les tests réalisés par le site CPU Benchmark. Le J3455 qui équipe le DS718+ est le plus puissant (78% plus puissant que le Celeron J3355@2GHz) ce qui justifie a centaine d’euros supplémentaires à débourser pour ce modèle.
Benchmark CPU des processeurs Intel J3455, J1900 et J3355. Source : cpubenchmark.net
Ce qui fait la force de Synology, c’est la qualité de ses applications (virtualisation, vidéo-surveillance…) et la très grande communauté d’utilisateurs. Le NAS de QNAP sont plus économiques. A budget équivalent vous aurez un NAS plus puissant. Comme nous allons le voir dans ce tutoriel, les applications de QNAP conviennent très bien pour un usage quotidien.
Quelques conseils avant de commencer
Vous aurez certainement besoin de piloter ou récupérer des informations en provenance d’accessoires domotiques via un contrôleur ou une passerelle domotique (Z-Wave, RFXCom, RFlink, bluetooth, sniffer Zigbee..). Les drivers (modules) ne sont malheureusement pas chargés au démarrage par le système d’exploitation du NAS QNAP. Heureusement, l’OS du QNAP est basé sur une distribution Linux. Commencez par lire ce tutoriel qui explique comment charger les modules au démarrage.
Configuration testée : NAS QNAP TS-251A
Pour ce tutoriel, j’ai réalisé les tests sur le NAS TS-251A du fabricant QNAP équipé de 2 disques dur de 2To chacun du fabricant Western Digital. Les disques durs de la série RED sont dédiés à un usage intensif typique des NAS. Pour encore plus de sécurité, il est préférable de créer un volume de stockage de type RAID 1 (miroir). Le RAID 1 permet une réplication en temps réel des données évitant ainsi toute perte de données en cas de panne d’un disque.
J’ai opté pour le modèle TS-251A car c’est le modèle le moins chère de la gamme qui est compatible avec l’application Virtualization Station de QNAP.
Le TS-251A est livré avec 2Go de RAM. C’est largement suffisant pour faire fonctionner Docker mais c’est un peu juste pour Virtualization Station. Impossible également d’utiliser la suite de développement d’objets connectés QIoT. Le TS-251A est équipé de deux emplacements au format SODIM ce qui permet d’installer jusqu’à 8Go (2x4Go).
Configuration testée
Budget de la configuration ~510€.
44,65€
52,79€
En Stock
3 neufs à partir de 44,65€
1 occasions à partir de 42,83€
89,49€
En Stock
8 neufs à partir de 89,49€
1 occasions à partir de 75,31€
268,90€
299,99€
En Stock
16 neufs à partir de 262,06€
Prix actualisé le 2 octobre 2020 12 h 54 min ⓘ
Installer Container Station, Virtualization Station et Download Station
Avant l’aller plus loin, ouvrez l’App center et installez les applications suivantes si ce n’est pas déjà fait :
- Container Station permet d’utiliser des Dockers. Ce sont les ressources du NAS (sont système d’exploitation Linux) qui sont utilisées. C’est une solution plus légère que la virtualisation et en générale moins consommatrice en ressources (CPU, RAM)
- Virtualization Station. C’est l’application QNAP qui permet de créer et gérer des machines virtuelles. Chaque fabricant propose une solution similaire. Virtualization Station nécessite au moins 2GB de RAM. Pour plus de confort, optez directement pour une extension à 8GB (environ 60€)
- Download Station. Tous les NAS disposent d’une application permettant de télécharger et partager des fichiers. Chez QNAP elle se nomme Download Station. C’est beaucoup plus pratique que de télécharger les fichiers sur un PC puis les déplacer sur le NAS.
Installer Jeedom sur une machine virtuelle Debian
Si votre NAS est équipé d’au moins 2GB de RAM*, vous pouvez installer Jeedom sur une machine virtuelle (VM**). La distribution Debian est conseillée. C’est également cette distribution qui sert de base à Raspbian, la distribution adaptée au Raspberry Pi.
(*) Attention, les contraintes techniques peuvent varier d’un fabricant à l’autre et d’un modèle à l’autre.
(**) VM : Virtual Machine … Machine Virtuelle. Ca sera plus facile à lire.
Télécharger Debian Stretch ou supérieur
Ouvrez Download Station. Allez sur le site de Debian pour récupérer le lien de la distribution. Prenez la version amd64 netInstall (même si le NAS est équipé d’un processeur Intel x86). Le téléchargement est rapide même avec une connexion moyenne. L’archive pèse environ 290Mo. Si vous changez d’avis, vous pourrez installer un bureau graphique à la fin de l’installation (ou ultérieurement)… ce n’est pas comme Windows ou macOS !
Les liens vers la version NetInstall (petite taille) se trouvent sur cette page.
Sur Download Station, cliquez sur + puis Entrer URL. Collez le lien dans la boite de dialogue et lancez le téléchargement. L’image de Debian est enregistrée par défaut dans le répertoire Download à la racine du NAS.
Créer la machine virtuelle Debian
Une fois le téléchargement terminé, ouvrez Virtualization Station et lancez la création de la machine virtuelle et cliquant sur créer VM.
Adaptez les paramètres en fonction de la puissance de votre NAS et des performances souhaitées pour Jeedom :
- Système : indiquer Linux et Debian dans la liste. La version n’a pas d’importance
- Coeur : 1 ou 2
- Mémoire : 1024 MB c’est bien. Plus si vous avez ajouté une extension à 8GB
- Image CD : Indiquez le chemin vers l’ISO précédemment téléchargé. En le conservant sur le NAS, vous pourrez vous en servir ultérieurement pour d’autres VM
- Stockage. Comptez 6GB pour Linux et 1GB pour Jeedom. Vous pouvez créer un disque de 30GB pour démarrer. La taille pourra être augmentée ultérieurement.
- Emplacement sur le NAS : indiquez le répertoire d’installation de la VM. Le mieux est de créer un répertoire dédié pour faciliter la gestion et la sauvegarde.
Indiquer un mot de passe VNC qui permettra d’accéder à l’écran de la machine virtuelle à n’importe quel moment.
Cliquer sur OK pour terminer la configuration. Dernière chose indispensable à faire avant de démarrer la VM Jeedom, configurer le clavier. Vous allez devoir saisir les mots de passe root et utilisateur. Cliquez sur l’image de la VM pour déployer le menu puis cliquer sur la roue crantée
Ouvrez l’onglet paramètres puis opération de la console. Choisissez la disposition de votre clavier dans la liste.
Donner un accès aux ports USB pour Z-Wave, RFXCom, Zigbee…
Avant d’aller plus loin, je vous conseille de lire ce tutoriel qui explique comment installer les drivers prenant en charge le port USB du NAS QNAP.
Pendant que nous sommes dans les réglages de la VM, on va en profiter pour donner un accès aux ports USB à la VM. Vous pourrez ainsi utiliser les passerelles domotiques connectées sur les ports USB du NAS (contrôleur Z-Wave, RFXCom, RFLink, Zigbee, Bluetooth…).
Ouvrez le gestionnaire de périphériques USB
On retrouve bien dans le gestionnaire les 3 passerelles connectées au NAS : RFLink, clé ZWave et le dongle Zigbee nécessaire pour Zigbee2MQTT. Cochez la passerelle que vous voulez utiliser sur le NAS et cliquez sur OK.
Il est également possible de le faire à chaud. Dans ce cas vous aurez un message d’avertissement à valider.
Il est également possible de débrancher à chaud un accessoire partagé sur la VM. Attention à stopper le service du plugin pour éviter les erreurs.
Activer le démarrage automatique de la VM Jeedom
Vous voudrez enfin très certainement que Jeedom démarre automatiquement au démarrage du NAS. Ce n’est pas très pratique de devoir lancer manuellement le serveur domotique après une coupure de courant. Ouvrez le panneau Autre et choisissez Conserver l’état précédent. Cliquer sur Appliquer pour enregistrer les paramètres.
Ouvrir la console et installer Debian
Tout est prêt, vous pouvez démarrer la VM
Une nouvelle fenêtre s’ouvre dans le navigateur ainsi qu’une boite de dialogue vous demandant le mot de passe VNC créé précédemment.
Vous devriez arriver sur la première page du logiciel d’installation de Debian. Choisissez Graphical install pour commencer l’installation du système. Si ce n’est pas le cas, attendez quelques secondes que Debian finisse de démarrer.
Configurer la langue du système
Saisissez le mot de passe root puis le compte utilisateur et son mot de passe. N’utilisez jamais le compte root pur installer Jeedom (ou un autre logiciel d’ailleurs). Choisissez un mot de passe différent pour les deux comptes. Le compte root offre un accès total au système.
Inutile de partitionner le disque. Pour plus de sécurité pour pouvez chiffrer le disque de la VM. N’oubliez pas de cliquer sur oui à la question faut-il appliquer les changements sur le disque (même si vous n’en avez fait aucun).
Sélectionnez au moins les paquets suivants Serveur SSH et Utilitaires usuel du système. Inutile d’installer un bureau graphique qui ne fera que consommer de la place sur le disque de la VM et consommer des ressources du NAS.
Grub est un petit logiciel qui permet de démarrer le système au démarrage de la VM. S’en lui Debian ne pourra pas démarrer. Grub est installé sur le disque dur virtuel de la VM Jeedom. Aucune crainte à avoir, on ne va pas toucher au NAS.
L’installation de Debian est maintenant terminée. Le système va redémarrer
Connectez-vous en SSH à la machine virtuelle
Comme vous avez du le constater, il n’est pas possible de coller des commandes linux depuis la console. Connectez-vous en SSH à la machine virtuelle sur le NAS. Sous macOS, ouvrez le Terminal. Sous Windows, lancez PowerShell ou installez Putty (gratuit).
Exécutez la commande
ssh utilisateur@ip_vm_jeedom
Saisissez votre mot de passe. A la première connexion, vous devez d’abord accepter la clé d’authentification en saisissant yes au clavier.
Vérifier que la commande sudo est disponible
Je n’ai pas pris le temps de vérifier l’origine du problème, mais la commande sudo ne semble pas être installée sur la distribution netinstall de Debian Stretch. Commencez par vérifier si elle est disponible en exécutant la commande suivante par exemple
sudo ls /dev/tty*
Le système doit vous demander votre mot de passe et lister les périphériques sur le port tty. Si la commande échoue, il faut installer la commande sudo manuellement comme ceci
su - root
Saisir votre mot de passe root (créé au moment de l’installation) puis exécuter la commande d’installation
apt-get install sudo
Il faut ensuite donner l’autorisation à votre compte utilisateur d’utiliser la commande sudo. Exécuter cette commande en remplaçant le nom de l’utilisateur
adduser NOM_UTILISATEUR sudo
Vous pouvez vérifier le fichier sudoers qui devrait ressembler à ceci (nano /etc/sudoers)
# This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
Il ne reste plus qu’à redémarrez le système
sudo reboot
Comment attribuer une adresse IP fixe à la machine Virtuelle ?
Virtualisation Station n’offre aucune solution pour attribuer une IP fixe à la VM. Le risque est que la machine virtuelle change d’adresse IP après un redémarrage, rendant le serveur inaccessibles aux accessoires domotiques ou une application tierce. Pour éviter ça, on va devoir attribuer nous même une adresse IP fixe en modifiant les paramètres de l’interface.
Ouvrez la console depuis la gestionnaire de VM
Connectez-vous et ouvrez le fichier de configuration (vous pouvez également vous connecter en SSH)
sudo nano /etc/network/interfaces
Commentez la configuration actuelle et collez cette nouvelle configuration en l’adaptant à vos paramètres. Ici la VM sera accessible à d’adresse IP 192.168.1.10
auto ens3 iface ens3 inet static address 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1
Enregistrer avec CTRL+X puis O. Redémarrer ensuite le système avec la commande sudo reboot.
Après le redémarrage, vous pouvez vérifier l’adresse IP en exécutant cette commande
/sbin/ip -4 addr
Installer Jeedom sur la machine virtuelle Debian Stretch
L’installation est ultra-simplifiée depuis le script v3. Commencez par récupérer le script avec la commande wget
wget https://raw.githubusercontent.com/jeedom/core/master/install/install.sh
On rend ensuite le script exécutable
chmod +x install.sh
Puis on lance l’installation de Jeedom
sudo ./install.sh
Le script commence par mettre à jour le système. En fonction du débit internet, l’installation peut prendre environ 30 minutes, le temps d’aller regarder un épisode sur Netflix… ou sauter au paragraphe suivant pour tester l’installation avec un Docker 🙂
Une fois l’installation terminée, vous pouvez vous connecter à Jeedom et saisissant l’adresse IP configurée précédemment depuis un navigateur internet.
Test du plugin Z-Wave
Il ne reste plus qu’à tester que tout fonctionne correctement comme sur un Raspberry Pi ou un ordinateur classique. L’installation et l’activation du plugin Z-Wave n’a posé aucun problème particulier.
Le contrôleur Z-Wave branché sur un port USB à l’arrière du QNAP est parfaitement détecté par la VM.
Après avoir installé le plugin officiel Z-Wave depuis le Market, ouvrez le panneau de configuration. Le contrôleur Z-Wave devrait être correctement détecté dans la liste des port disponibles. Fermez la page de configuration si vous avez branché à chaud le contrôleur. Sauvegardez la configuration et relancez l’installation des dépendances.
L’inclusion d’une prise connectée Neo CoolCam NAS-WR01ZE (clone de la prise connectée Fibaro FGWPE-102 ZW5) n’a posé aucun problème. Tout fonctionne parfaitement.
Sauvegarder la VM Jeedom (manuel ou planifié)
Gros avantage d’installer Jeedom sur une Machine Virtuelle, il est possible de réaliser des sauvegardes directement sur le NAS. Ouvrez le gestionnaire de sauvegarde depuis le menu
La tâche de sauvegarde permet de sauvegarder plusieurs VM simultanément. Par défaut, la sauvegarde est réalisée dans un répertoire du NAS mais vous pouvez également enregistrer la sauvegarde sur un second NAS pour plus de sécurité.
On peut planifier la sauvegarde (journalière, hebdomadaire, mensuelle). Seul problème, tous les périphériques USB sont déconnectés durant la sauvegarde 🙁
Je vous déconseille donc de planifier vos sauvegardes car il faudra re-configurer le port USB manuellement après chaque sauvegarde. Ici par exemple, le plugin Z-Wave a perdu le port USB du contrôleur.
Avantages et inconvénients d’une VM Jeedom
Je manque encore d’expérience sur le long terme mais voici quelques conclusions générales sur l’installation de Jeedom sur une VM Debian
POUR:
- Simplicité d’installation
- Montage / démontage à chaud des accessoires USB
- Possibilité de faire des clichés de la VM (avant l’installation d’un plugin non certifié). Possibilité de revenir en arrière en cas de problème
- Très bonnes performances
- Lancement correct du serveur et contrôleurs domotique après un redémarrage du NAS
CONTRE:
- Nécessite plus de ressources, passage à 4GB ou plus à envisager rapidement
- Configuration manuelle de l’adresse IP. Il faudra mettre les mains dans la console
- Déconnexion obligatoire des périphériques USB durant la sauvegarde d’un cliché. Il faudra re-configurer les ports USB (contrôleur Z-Wave, RFXCom…) après chaque sauvegarde
Dans cet article (déjà ancien), nous avions vu comment tester Jeedom à l’aide de Docker sur n’importe quel PC, MAC ou Raspberry Pi. Naturellement, j’ai pensé naïvement qu’il suffisait de refaire la même chose, mais je suis tombé sur un os. Impossible de lier Jeedom à MariaDB / MySQL. Impossible également de lier MySQL à PHPMyAdmin 😥
Finalement plutôt que de m’entêter, j’ai préféré repartir du container Jeedom sur lequel j’ai installé MySQL et ça fonctionne plutôt très bien après quelques adaptations que nous allons découvrir.
Créer le container Jeedom
Ouvrez Container Station et cliquez sur Create. Faites un recherche sur le mot clé jeedom sur le docker hub puis cliquez sur Create
Nommez le container. Il ne sera plus possible de le modifier après la création.
Activer l’option auto-start pour lancer le docker après le démarrage du NAS.
Vous pouvez spécifier une limite d’utilisation du CPU et de la mémoire pour préserver les performances des autres fonctions du NAS (sauvegarde, serveur de fichier, serveur multimédia…)
Cliquez ensuite sur Advanced Settings
Allez à l’onglet réseau (Network) et sélectionner le mode Nat. Normalement, les ports 22 et 80 sont pré-renseignés. Si ce n’est pas le cas, il faut les ajouter. Indiquer un autre port afin de ne pas empêcher le NAS de fonctionner normalement. Le port 80 est utilisé par QTS, l’interface de gestion du NAS serait alors inaccessible.
Ouvrez ensuite l’onglet device et cocher Run containers in privileged mode. C’est impératif pour pouvoir accéder aux ports USB (dongle ZWave, RFlink…). Attention, cette option n’est plus modifiable après la création du container. Vous pouvez dès maintenant ajouter les ports USB à partager. Il est possible de le faire ultérieurement.
Vous pouvez lancer la création du docker en cliquant sur Create. Le container est immédiatement lancé et Jeedom termine l’installation. Pendant ce temps, on va installer MySQL dans le docker. Ouvrez le Terminal.
Saisissez /bin/sh dans la boite de dialogue qui apparait.
Une nouvelle fenêtre s’ouvre dans le navigateur internet. Ajoutez les dépôts de MySQL (si vous rencontrez des difficultés pour installer MySQL)
wget http://repo.mysql.com/mysql-apt-config_0.8.9-1_all.deb sudo dpkg -i mysql-apt-config_0.8.9-1_all.deb
puis
sudo apt update sudo apt install mysql-server
Le programme d’installation va vous demander de saisir le mot de passe root pour le serveur MySQL. Il sera nécessaire pour connecter Jeedom à la base de données plus tard.
L’installation terminée, démarrez manuellement MySQL en exécutant
/etc/init.d/mysql start
Finaliser l’installation de Jeedom
Vous pouvez maintenant vous connecter à Jeedom en saisissant dans le navigateur
IP_JEEDOM:port_jeedom
Vous aurez certainement un message d’erreur vous indiquant les commandes à exécuter dans le terminal (ouvert précédemment) pour permettre à Jeedom de fonctionner. La plupart du temps, c’est un problème lié à crontab, par exemple
sudo su - croncmd="su --shell=/bin/bash - root -c '/usr/bin/php /var/www/html/core/php/jeeCron.php' >> /dev/null 2>&1" cronjob="* * * * * $croncmd"
Une fois que c’est fait, vous pouvez continuer l’installation de Jeedom. Saisissez le mot de passe MySQL créé précédemment et cliquez sur Proceed. Comme MySQL est installé dans le même container, vous pouvez laisser localhost et le port 3306 par défaut.
L’installation de Jeedom se termine avec succès !
Démarrer MySQL automatiquement au lancement du container Jeedom
Si vous redémarrez le conteneur, vous allez obtenir ce message d’erreur
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Oups ! C’est un message typique en cas de panne ou que MySQL n’est pas lancé. En installant MySQL dans le container Jeedom, rien a été configuré pour démarrer la base de données. On va corriger ça avec une seule ligne de code !
Ouvrez un Terminal (sur macOS ou Linux) ou PowerShell (sur Windows) et connectez vous au NAS en SSH
ssh admin@ip_nas
Lister les containers lancés avec la commande docker ps
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
42c449d22286 jeedom/jeedom:latest-data-1 “/root/init.sh” 2 hours ago Up 14 minutes 0.0.0.0:1822->22/tcp, 0.0.0.0:1880->80/tcp jeedom-1
Le container jeedom-1 est bien démarrer. On s’y connecte
docker exec -it jeedom-1 bash
et on édite le script de démarrage de jeedom avec l’éditeur vi (désolé nano n’est pas disponible … et on ne va pas l’installer pour une ligne de code)
vi /root/init.sh
Passez en mode insertion en tapant ESC puis a
Déplacer le curseur avant la ligne /usr/bin/supervisord et insérer ces deux nouvelle lignes
echo 'Start MySQL' sudo /etc/init.d/mysql restart
Quitter vi en tapant au clavier ESC puis : puis x (pour quitter sans enregistrer saisir q!)
Ouff, vous n’aurez plus à le faire !
Vous pouvez redémarrer le conteneur Jeedom et actualiser le navigateur. Tout fonctionne parfaitement maintenant même après un redémarrage du NAS.
Vous avez oublié de re-diriger le port 80, votre NAS QNAP n’est plus accessible, comment faire ?
Et bien tout simplement en arrêtant manuellement le container. Comme précédemment, connectez-vous en SSH au NAS. Trouvez le nom du container avec la commande docker ps puis exécuter la commande docker stop pour l’arrêter
docker stop jeedom-1
Et voilà, QTS est de nouveau accessible !
Avantages et inconvénients d’un docker Jeedom Debian
POUR:
- Moins de RAM nécessaire (fonctionne très bien avec 2GB)
- Excellentes performances
- Accès aux commandes Docker possible en SSH
- Démarrage ultra-rapide
- Port USB (ZWave, RFLink…) très bien supporté. Aucun problème d’installation des plugins testés
- Lancement correct du serveur et contrôleurs domotique après un redémarrage du NAS
CONTRE:
- Pas de montage / démontage à chaud des accessoires USB
- Container Station est beaucoup moins souple que Docker sur PC, Mac, Linux
- Beaucoup de paramètres non modifiables après la création du Docker (link, variables d’environnement, mode master…)
- Plus difficile de faire des clichés pour revenir en arrière
- Configuration plus difficile qu’une VM (pour Jeedom du moins)
- MySQL supporte mal l’arrêt du conteneur Jeedom ce qui oblige à re-démarrer le NAS (long)
En terme de performance, les deux solutions sont équivalentes. Si vous avez un budget serré, vous pouvez choisir d’installer Jeedom dans un conteneur Docker. Container Station, l’application développée par QNAP n’est pas aussi souple d’utilisation que l’application officielle développée par Docker. Si on reste dans une installation connue, ça fonctionne très bien. Dans le cas ou il faut faire des modifications (variables d’environnement …) on passe son temps à détruire ses conteneurs dockers pour tester d’autres paramètres. C’est un peu pénible. Cependant, une fois que tout est configuré correctement, Jeedom sous Docker fonctionne très bien même avec un NAS équipé de seulement 2GB de RAM. Seul problème, il arrive parfois que MySQL ne re-démarre pas après un arrêt du conteneur.
En passant à 4GB ou mieux à 8GB, vous pourrez installer Jeedom sur une machine virtuelle fonctionnant sous Debian. C’est la solution que je vous conseille. L’application Virtualisation Station offre beaucoup plus de souplesse que Docker (du moins avec l’application Container Station de QNAP). On démarre sur Linux comme sur un ordinateur classique. La possibilité de sauvegarder un cliché de la VM avant de faire une mise à jour ou l’installation d’une dépendance permet de revenir en arrière en quelques instants en cas de problème. Seul regret, les périphérique USB sont déconnectés de la machine virtuelle durant la sauvegarde et Jeedom (du moins pour le contrôleur Z-Wave) est incapable de se reconnecter automatiquement. Après chaque sauvegarde, il faudra donc re-configurer le port USB de chaque passerelle (contrôleur Z-Wave notamment, ce qui rend inutilisable la planification des sauvegardes.
Dans les deux cas, je n’ai rencontré aucun problème lors d’un redémarrage du NAS. Le serveur Jeedom se lance parfaitement. Idem pour les contrôleurs USB. Notons toutefois que le redémarrage est beaucoup plus long que sur un Raspberry Pi, mais ce n’est pas le but recherché après tout.
Configuration testée
Budget de la configuration testée ~510€.
44,65€
52,79€
En Stock
3 neufs à partir de 44,65€
1 occasions à partir de 42,83€
89,49€
En Stock
8 neufs à partir de 89,49€
1 occasions à partir de 75,31€
268,90€
299,99€
En Stock
16 neufs à partir de 262,06€
Prix actualisé le 2 octobre 2020 12 h 54 min ⓘ
Piloter le dashboard Jeedom à l’aide d’un écran tactile
Pourquoi ne pas piloter directement vos accessoires domotiques depuis un Dashboard Tactile, c’est possible avec quelques lignes de code !
Et maintenant, quoi faire avec Jeedom ?
Votre box domotique est prête ! Voici d’autres tutoriels pour aller plus loin et pourquoi pas développer vos propres accessoires domotiques à base d’ESP32 ou d’ESP8266.
Avez-vous aimé cet article ?
[Total: 0 Moyenne: 0]