Installation de A à Z d'un NUC pour bien débuter en domotique - Partie 1

Installation de A à Z d'un NUC pour bien débuter en domotique - Partie 1

Voici une série d'articles qui a été co-écrite conjointement avec un membre de la communauté Telegram, pour l'aider à se lancer et dans l'optique que ça puisse servir à d'autres personnes également. Ce tutoriel sera mis à jour régulièrement pour rester d'actualité.

Cette série d'articles est prévue pour donner les grandes étapes à suivre pour avoir une installation domotique fonctionnelle assez rapidement. Le but n'est pas de détailler toutes les étapes avec autant d'explications que dans les articles habituels, mais plutôt de vous orienter dans la bonne direction. N'hésitez pas à venir discuter avec la communauté si un élément n'est pas clair ou si vous avez besoin d'aide !


Le choix a été fait dans les différentes parties du tutoriel de procéder aux installations basiques, nous-mêmes, sans utiliser de script ou d'image préconstruite lorsque c'était possible. Le but est de vous expliquer comment faire les choses vous-mêmes, pour vous permettre d'apprendre.

Sommaire

  1. Choix du matériel
  2. Installation de Debian
  3. Installation de Proxmox VE
  4. Configuration de Proxmox
  5. Installation de Home Assistant dans 1 VM
  6. Installation de Jeedom dans 1 VM
  7. Installation de Docker dans un conteneur LXC
  8. Déploiement de Portainer
  9. Installation de Mosquitto et Zigbee2MQTT
  10. Gestion des sauvegardes des VM et conteneurs LXC
  11. Monitoring

Historique des versions

Version Date Commentaires
1 Octobre 2023 Version initiale

Choix du matériel

Pour commencer, il est important de choisir un matériel qui sera performant, évolutif si possible, qui ne consomme pas trop et qui puisse tourner 24h/24 pendant plusieurs années. Pour héberger plusieurs services sans problème de performances, je vous recommande de vous orienter vers un mini ordinateur de type NUC ou équivalent, qui devra au minimum disposer de 8Go de RAM et 256Go de disque dur (je recommande 16Go de RAM et 512Go de disque dur pour être tranquille un moment).

Voici un modèle qui répond en tout point à ces exigences, pour moins de 400€ :

MINIS FORUM NAB5

  • Processeur Intel i5 de 12ème génération à 8 coeurs
  • 16 Go de RAM
  • SSD de 512 Go
  • 2 prises réseau 2.5 Gbps
Voir sur Amazon

Pour ceux qui auraient un budget un peu plus serré ou ne prévoient pas d'héberger beaucoup de services, vous pouvez vous orienter vers ce modèle, pour un prix cette fois d'environ 200€ :

NiPoGi Mini PC Alder Lake N100

  • Processeur Intel N100 de 12ème génération à 4 coeurs
  • 16 Go de RAM
  • SSD de 512 Go
  • 1 prise réseau 1 Gbps
Voir sur Amazon

Selon les modules que vous souhaiterez installer dans votre domotique, vous pourriez également avoir besoin d'un contrôleur usb Zigbee ou bien Z-Wave. Ces modèles sont les références de leurs protocoles respectifs et sont supportés par la majorité des solutions domotiques, incluant Home Assistant et Jeedom que nous mettrons en place dans ce tutoriel.

Ces liens sont sponsorisés et vous permettent de soutenir le blog sans payer plus cher.

Installation de Debian

Disponible depuis le 10 juin 2023, la dernière version de Debian est la version 12, appelée Bookworm. Il s'agit de la distribution Linux que nous choisissons d'installer, pour sa stabilité, sa fiabilité ainsi que sa simplicité.

Commençons par le téléchargement de l'image iso nécessaire à l'installation, vous pouvez prendre au choix l'image netinst (taille réduite, mais vous devrez avoir du réseau sur le mini pc pendant l'installation) ou complète (ne nécessite pas d'accès réseau pendant l'installation).

Attention ! Une image au format i386 est faite pour des processeurs Intel d'architecture 32 bits. Dans le cas d'un processeur récent avec une architecture 64 bits, qu'il s'agisse d'un processeur Intel aussi bien qu'AMD, il faut vous tourner vers l'image au format amd64.

Utilisez Balena Etcher ou Rufus pour créer la clé usb bootable avec l'image iso téléchargée.
Dans le cas où la clé usb n'est pas reconnue par votre ordinateur, vous pouvez la préparer en la formatant en exFAT avec une partition de démarrage MBR.

Configurez l'ordre de démarrage dans le BIOS du mini pc pour que ça soit l'USB qui soit en premier. Branchez enfin la clé usb sur le mini pc et démarrez dessus.

Les étapes d'installation sont les suivantes et les principales sont illustrées dans la galerie juste en-dessous :

  • Choix de la langue et du pays, configuration du clavier.
  • Choix du nom d'hôte (hostname).
  • Configuration des utilisateurs, avec le mot de passe du compte ainsi que la possibilité d'en créer un supplémentaire.
  • Partitionnement du disque où sera installé Debian, je vous conseille de choisir au plus simple, avec l'utilisation d'un disque entier, et de mettre l'ensemble données dans une seule partition.
  • Configuration du gestionnaire de paquets et choix des logiciels à installer. Si le mini pc n'a pas vocation à être utilisé branché sur un écran mais plutôt en tant que serveur, il est mieux de ne pas installer d'environnement de bureau. Dans tous les cas, veillez à bien sélectionner le serveur SSH.
  • Installation de grub, le gestionnaire de démarrage.
  • A la fin, il vous sera demandé de retirer la clé usb et de redémarrer. (Pensez à retourner dans le BIOS pour remettre le disque dur du mini pc en premier au démarrage)
  • Utilisez le compte root ainsi que le mot de passe choisi et vous vous retrouverez connecté sur le terminal Debian.
Il est nécessaire de fixer l'adresse IP du mini pc, le mieux est de faire une réservation dans le DHCP. Si vous ne pouvez pas le faire, il faudra configurer une IP fixe directement dans l'OS.

Installation de Proxmox VE

Pour rappel, Proxmox VE est un hyperviseur logiciel permettant de faire de la virtualisation sur l'hôte sur lequel il est installé, il permet le déploiement aussi bien de machines virtuelles KVM que de conteneurs LXC, selon vos besoins.

Maintenant que Debian est installé, et dans le but de pouvoir utiliser notre mini pc au mieux de ses capacités, passons à l'installation de Proxmox VE. Voici les étapes pour arriver au résultat escompté:

  • Connectez vous en SSH depuis Putty / Tabby à votre mini pc, et passez en root.
  • Il faut fixer dans le fichier /etc/hosts l'adresse IP du mini pc et le hostname mis lors de l'installation de Debian. Editez le avec la commande nano /etc/hosts . Il ne faut pas modifier la 1ère ligne, mais seulement la 2ème, le début du fichier doit donc ressembler à ça :
127.0.0.1       localhost
192.168.1.20    proxmox
  • Ajout du référentiel de Proxmox VE et de la clé de signature des paquets.
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
  • Mise à jour des dépôts, de Debian et installation du kernel Proxmox.
apt update && apt full-upgrade -y && apt install pve-kernel-6.2 -y
  • On redémarre le mini pc.
systemctl reboot
  • Installation de Proxmox-VE. Durant l'installation, il sera demander à l'étape "Postfix configuration" de choisir une configuration concernant le serveur de messagerie, que vous pouvez passer en sélectionnant "Pas de configuration". Il ne doit pas y avoir d'erreur à la fin de cette étape.
apt install proxmox-ve postfix open-iscsi
  • Un peu de nettoyage maintenant, avec la suppression de l'ancien kernel linux, la mise à jour de la configuration de grub (qui est le gestionnaire de démarrage du système) et le paquet os-prober.
apt remove linux-image-amd64 'linux-image-6.1*'
update-grub
apt remove os-prober
Vous pouvez maintenant vous connecter à la console Web d'administration Proxmox VE sur https://<IP.DU.MINI.PC>:8006 .
Le message vous informant que vous ne disposez pas d'une license valide peut être ignoré, il n'a aucun impact sur l'utilisation de Proxmox. Une license n'est pas obligatoire, elle est utile pour obtenir du support (de niveau entreprise) et avoir accès aux dépôts avec des mises à jour plus rapide pour les paquets.

Configuration de Proxmox

Avant de commencer à créer des VMs ou conteneurs LXC, vous aurez besoin d'avoir une carte réseau bridge. Celle dernière est à créer en premier lieu sous Debian. Pour cela, éditez le fichier de configuration réseau avec la commande vi /etc/network/interfaces et ajoutez les lignes suivantes à la fin, en remplaçant bien l'adresse IP et la passerelle par ceux de votre réseau, ainsi que le nom de la carte réseau. (vous trouverez ces informations avec la commande ip addr show)

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.2/24
        gateway 192.168.1.1
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0

Redémarrez le service réseau de Debian et démarrez l'interface bridge nouvellement créée.

systemctl restart networking
ifup vmbr0

Vérifiez que vous voyez bien la nouvelle interface bridge en plus de votre carte filaire avec la commande ip addr show. Le résultat doit ressembler à ça :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
    link/ether f4:e2:3f:6a:64:4a brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
5: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f4:e2:3f:6a:64:4a brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::f64d:30ff:fe6a:646a/64 scope link 
       valid_lft forever preferred_lft forever
Attention, une interface réseau bridge doit être créée à partir d'une carte réseau filaire, et non à partir d'une carte réseau sans-fil.

(C'est techniquement possible si la carte réseau sans-fil est compatible 4addr mais cela complique un peu la configuration, et je ne vais pas le détailler dans cet article.)


On s'arrête là pour le moment, vous avez maintenant un mini pc opérationnel avec Debian et Proxmox VE installés, la base pour bien débuter dans votre installation domotique.
La prochaine partie abordera la création de machines virtuelles et l'installation des solution domotiques Home Assistant et Jeedom.

N'hésitez pas à venir discuter avec la communauté Telegram si un élément n'est pas clair ou si vous avez besoin d'aide pour ce tutoriel ou un autre sujet !