Installer Jeedom sur un NAS QNAP. Machine virtuelle ou Docker (script v3)

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…)

Quel NAS choisir ?

nas synology ds718 plus

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+
nas synology DS218 plus nas synology ds718 plus
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€ ~440€ ~ 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.

cpu benchmark nas synology ds218plus qnap ts251a j3355

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.

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.

nas qnap docker usb device privilege mode

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€.

Dernière mise à jour des prix le 15 avril 2019 3 h 01 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.
qnap virtualization station qnap container station

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.

download debian stretch amd64 qnap

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.

qnap virtualisation station add create vm jeedom homeassistant

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.

nas qnap virtualisation station debian jeedom vm

Indiquer un mot de passe VNC qui permettra d’accéder à l’écran de la machine virtuelle à n’importe quel moment.

nas qnap virtualisation station vnc password

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

vm debian virtualisation station qnap keyboard settings

Ouvrez l’onglet paramètres puis opération de la console. Choisissez la disposition de votre clavier dans la liste.

qnap vm jeedom clavier

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

qnap nas virtualisation station usb zwave rflink

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.

jeedom vm usb connect zwave rflink zigbee2mqtt

Il est également possible de le faire à chaud. Dans ce cas vous aurez un message d’avertissement à valider.

nas qnap avertissement usb

Il est également possible de débrancher à chaud un accessoire partagé sur la VM. Attention à stopper le service du plugin pour éviter les erreurs.

nas qnap unplug usb dongle zwave rflink vm

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.

nas qnap autostart vm

Ouvrir la console et installer Debian

Tout est prêt, vous pouvez démarrer la VM

qnap virtualisation station start debian jeedomet ouvrez la console.

qnap open vm console

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.

qnap vm vnc authentification debian

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.

qnap vm debian graphical install

Configurer la langue du système

Configurer le réseau

Configurer les comptes root et utilisateur

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.

Configurer le disque

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).

Installation (y compris paquets complémentaires)

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.

Installation de grub

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 par défaut. 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

qnap open vm console

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

jeedom nas qnap vm debain ip fixed

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 🙂

installation jeedom debian nas qnap machine virtuelle

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.

jeedom login vm debian nas qnap ts-251

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.

jeedom qnap machine virtuelle zwave plugin

L’inclusion d’une prise connectée Neo CoolCam NAS-WR01ZE (clone de la prise connectée Fibaro FGWPE-102 ZW5n’a posé aucun problème. Tout fonctionne parfaitement.

inclusion prise neocool calm zwave jeedom nas qnap syology

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

qnap virtualization station sauvegarde vm jeedom

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é.

sauvegarde vm jeedom qnap

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 🙁

sauvegarde vm qnap deconnexion appareils usb

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.

port usb non configure jeedom qnap machine virtuelle

Remarque. Re-démarrer Jeedom ne changera rien, il faudra absolument re-configurer 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

Installer Jeedom dans un docker Debian sur un NAS QNAP avec Container Station

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

find jeedom docker container station qnap

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

jeedom create docker qnap nas

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.

jeedom docker qnap nas network nat

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.

jeedom docker qnap terminal console

Saisissez /bin/sh dans la boite de dialogue qui apparait.

container station nas qnap run command terminal

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"

jeedom executer commande terminal

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 !

installation jeedom docker nas qnap ts-251a

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 (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 <nom_container> 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)

Quelle solution choisir pour installer Jeedom sur un NAS ? Docker ou VM

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€.

Dernière mise à jour des prix le 15 avril 2019 3 h 01 min

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

1 commentaire
  1. Merci pour le temps passé à parfaitement décrire le process.
    Bravo encore

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.

Domotique et objets connectés à faire soi-même