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.3.1 Activer le démarrage automatique de la VM Jeedom
- 5.3.2 Ouvrir la console et installer Debian
- 5.3.3 Configurer la langue du système
- 5.3.4 Configurer le réseau
- 5.3.5 Configurer les comptes root et utilisateur
- 5.3.6 Configurer le disque
- 5.3.7 Installation (y compris paquets complémentaires)
- 5.3.8 Installation de grub
- 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
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€.
3 neufs à partir de 38,00€ actualisé le 2 décembre 2022 18 h 18 min 5 neufs à partir de 120,00€ actualisé le 2 décembre 2022 18 h 18 min actualisé le 2 décembre 2022 18 h 18 min Prix actualisé le 2 décembre 2022 18 h 18 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
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 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
- 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