Auteur/autrice : Ruben FARIA

  • Installation de Home Assistant sous Docker

    Installation de Home Assistant sous Docker

    Cet article traitera de l’installation de Home assistant sous docker.

    J’expliquerai pourquoi j’utilise Home Assistant comme box domotique puis nous aborderons son installation.

    Home Assistant, awaken your home

    Mais au juste, c’est quoi une box domotique ?

    Du latin domus (« maison »), et du suffixe -tique (ou -ique devant t), « qui est propre à », dans le domaine des sciences (Wikipedia)

    La domotique est l’intégration des techniques modernes d’aménagement dans la maison, de l’automatisation et des technologies électro-domestiques.

    Le but de la domotique est d’automatiser les tâches routinières pour un meilleur confort au quotidien. En premier lieu, elle permet d’assurer votre sécurité et votre confort mais également de véritables économies d’énergie, tout en baissant votre emprunte carbone, grâce à des algorithmes de plus en plus poussés.

    Un fonctionnement en local

    Home assistant est un logiciel open source qui donne la priorité au réseau local et à la vie privée.

    Cela veut dire que Home assistant fonctionne en local et ne dépend pas d’un cloud.

    Les effets se sont ressentir car les commandes sont instantanées. Elles ne souffrent du temps de latence de connexion à l’internet.

    Un fonctionnement Online

    Et oui, car de nos jours, si on ne peut pas agir à distance, quel est l’intérêt ?

    Vous pouvez donc accéder à votre box domotique de plusieurs façons.

    Certaines demanderont d’ouvrir des ports de votre routeur, d’intégrer un certificat SSL, de vous connecter en local via un VPN. Vous avez aussi la possibilité de souscrire à un abonnement chez Nabu-casa pour moins de 6€ par mois, pour bénéficier du cloud de Home Assistant.

    Une communauté massive et présente

    Si vous tapez sur Google Home assistant, vous verrez de nombreux sites parler d’home assistant. Il y a de nombreux tutoriels sur le sujet, des forums spécialisés. On voit que nous sommes dans l’open source et l’entraide est au centre de cette politique.

    De plus, grâce à HACS vous pourrez bénéficier des plugins développés par la communauté, simplifiant l’automatisation de nos appareils.

    3 méthodes d’installation différentes

    Vous pouvez installer Home Assistant de trois façon différente.

    En tant que système d’exploitation. Vous dédiez alors une machine pour cette tâche. Le grand avantage est que Home assistant se gérera tout seul. Il fera sa propre maintenance, et gérera la sécurité sur serveur.

    Cette méthode est à privilégier si vous êtes peu habitués à utiliser un système par ligne de commande.

    Installation de Home Assistant sous docker

    Si vous avez suivi l’article Installation de Raspberry PI OS et Docker, vous avez alors docker et docker compose d’installé.

    Nous commencerons par créer un répertoire Home-assistant et nous y déplacerons dedans :

    mkdir home-assistant && cd home-assistant

    Puis nous créerons notre fichier docker-compose

    sudo nano docker-compose.yml

    Nous allons commencer notre fichier en déclarant le nom du service, le nom du container, puis l’image à utiliser

    services:
        homeassistant:
             container_name: homeassistant
             image: "ghcr.io/home-assistant/home-assistant:stable"

    Si vous avez une clé zigbee il faudra l’indiquer dans le docker compose.

    Vous pouvez faire cette commande pour identifier le port usb utilisé :

    ls -l /dev/serial/by-id

    Puis nous indiquerons les volumes qu’utilisera Home Assistant

        devices:
          - /dev/ttyUSB0:/dev/ttyUSB0
        volumes:
          - ./config:/config
          - /etc/localtime:/etc/localtime:ro
          - /run/dbus:/run/dbus:ro

    Pour finir nous déclarerons le mode privilégié, puis l’utilisation du réseau hôte.

        restart: unless-stopped
        privileged: true
        network_mode: host 

    Nous pouvons fermer notre docker-compose et lancer la création du container.

    sudo docker compose up -d

    Vous pouvez vous connecter à l’interface de Home-Assistant avec :

    http://IP-hôte:8123

    Une fois l’installation terminée, vous serez invité à créer votre compte.

    Conclusion

    Nous avons appris à faire l’installation de home assistant sous docker.

    Nous avons vu les points positifs d’utiliser ce logiciel comme box domotique.

    Nous avons écrit le docker compose de celui-ci et nous nous sommes connectés à l’interface de Home Assistant.

    Lors d’un prochain billet, je vous montrerai comment installer HACS, ewelink smart home, et z-wave-js-ui.

  • Installation de Portainer sur Docker

    Installation de Portainer sur Docker

    Cet article traitera de l’installation de Portainer sur Docker.

    Je décomposerais cet article en deux grandes parties.

    La première traitera de pourquoi j’utilise Portainer, puis la deuxième traitera de son installation grâce à docker-compose.

    Portainer

    Pourquoi Portainer ?

    Portainer vous permet de visualiser graphiquement l’ensemble des données tournant sous Docker.

    interface de Portainer
    interface de Portainer

    Vous pouvez en quelques cliques visualiser les réseaux créés, les images utilisées, l’état de tous vos container.

    Il simplifie grandement la gestion de vos applications, vous permettant par exemple de rajouter un container sur un réseau mac-vlan, ou d’examiner les logs pour un dé-bug.

    visualisation simple des logs grâce à Portainer
    Portainer facilite la visualisation des logs

    Je trouve que ce logiciel est un must have, il m’a permis de souvent de-buguer mes container sans avoir à écrire une seule ligne de commande.

    Installation de Portainer sur Docker

    Pour effectuer l’installation de Portainer sur Docker, nous utiliserons le plugin docker compose.

    Si vous avez suivi l’installation de mon article précédent, docker compose devrait déjà être installé.

    Vous pouvez le vérifier en effectuant cette commande

    sudo docker compose version

    Vous devriez avoir ce retour :

    Docker Compose version v2.29.7

    On commence par créer notre répertoire de travail et on s’y déplace à l’intérieur.

    mkdir portainer && cd portainer

    On crée le fichier docker-compose.yml

    sudo nano docker-compose.yml

    Puis on déclare notre application

    services:   #point d'entrée de notre application
      portainer:  #nom du service
        image: portainer/portainer-ce:latest  #nom de l'image à récupérer
        container_name: portainer #nom qui sera affecté au container
        ports:  #ports utilisés du type "hôte" : "vers container"
          - 9000:9000
        volumes: #on définit les volumes qui seront utilisés par l'application, du type nom du volume local : chemin du répertoire du container
          - portainer_data:/data
          - /var/run/docker.sock:/var/run/docker.sock
        restart: unless-stopped
    
    volumes:  #on déclare les volumes
      portainer_data:

    Vous noterez que les deux volumes sont déclarés différemment. Le premier est du type volume virtuel « volatile », alors que le deuxième est une copie du fichier docker.sock de l’hôte dans le container.

    Je reviendrais sur des explications plus approfondies lors de prochains billets.

    Une fois que vous avez finit d’écrire votre fichier yml, vous pouvez le sauvegarder en effectuant CTRL+O, puis fermer le fichier avec CTRL+X.

    Nous pouvons maintenant lancer la création de notre container avec la commande suivante :

    sudo docker compose up -d

    Vous verrez alors docker télécharger l’image, et créer le container.

    Vous pouvez ensuite accéder à Portainer en entrant dans votre navigateur https://ip-hote:9000.

    Lors de la création du container, Portainer génère des certificats self-signed.

    Vous aurez donc un message d’avertissement il suffira de cliquer sur avancé, puis continuer la connexion.

    Conclusion

    Nous avons vu pourquoi et comment faire l’installation de Portainer sur Docker.

    Portainer nous permet très simplement d’administrer nos containers Docker que ce soit dans la visualisation des logs, l’ajout de réseau, ou modifier les status des containers.

  • Installation de Raspberry PI OS et Docker

    Installation de Raspberry PI OS et Docker

    Cet article traitera de l’installation de Raspberry PI OS et docker sur un Raspberry.

    Raspberry PI OS

    Raspberry PI OS est un système d’exploitation conçu pour l’architecture ARM64 du Raspberry. Ce système d’exploitation est un logiciel libre et gratuit basé sur Debian. Autant dire que çà envoie du lourd !

    Prérequis pour l’installation de Raspberry PI OS

    Préparation de la carte SD

    On branche son lecteur SD dans le port USB de son ordinateur et on lance Raspberry Pi Imager.

    interface de Raspberry Pi Imager

    On sélectionne son modèle de Raspberry et on choisit son système d’exploitation.

    Nous allons sélectionner Raspberry PI OS (other).

    fenetre de selection de Raspberry Pi OS Other

    Dans ce menu, on y trouvera le système que nous allons utiliser : Raspberry PI OS lite (64-bit).

    Il s’agit de la version du système d’exploitation diminuée de l’environnement Destock. Compte tenu que nous allons y travailler depuis SSH, nous n’avons pas besoin d’un environnement bureau.

    Si vous avez relié votre Raspberry sur le port HDMI, vous pouvez sélectionner Raspberry PI OS Full (64-bit). Cela vous permettra d’avoir l’interface graphique de bureau.

    Une fois l’OS sélectionné, on choisit le média de stockage pour la création de l’image, et on clique sur suivant.

    A la fenêtre suivante, on cliquera sur Modifier les réglages.

    fenetre de personnalisation de l'OS

    Dans cette fenêtre, on pourra y définir le nom de notre serveur, le nom d’utilisateur et le mot de passe.

    onglet général, pour définir le nom d'hôte, le nom d 'utilisateur et le mot de passe du compte

    Dans l’onglet suivant « Services », on cochera activer SSH et utiliser un mot de passe pour l’authentification.

    Les réglages sont prêts, on peut donc lancer la création de l’image.

    Connexion en SSH

    Vous avez deux possibilités pour vous connecter en SSH.

    Soit vous attaquez par l’IP de votre hôte soit vous ouvrez la connexion par son nom DNS.

    Néanmoins pour des raisons de praticité nous allons déterminer l’adresse IP de notre serveur puis l’assigner en IP statique.

    De cette façon, l’IP ne changera pas au prochain redémarrage.

    Pour cela, il faudra se connecter sur le routeur de votre FAI, pour trouver notre machine.

    Dans mon cas, je détiens une FREE Delta, je me connecte donc sur la Free box, je vais dans DHCP, puis baux actifs.

    Je recherche mon Raspberry, et je fais un clique droit dessus puis ajouter un bail statique. Et voila, notre serveur possède dorénavant une IP statique.

    On peut désormais se connecter en SSH sur notre Raspberry.

    Sur MobaXterm, la connexion ressemble à çà.

    interface de MobaXterm

    Dans Remote host, on y indiquera soit l’IP de notre serveur soit son petit nom.

    Vous pouvez spécifier le nom d’utilisateur, on laisse le port 22 par défaut, sauf si vous l’avez changer.

    fenetre de MobaXterm en ssh sur le raspberry

    La première chose à faire est de mettre notre système à jour.

    sudo apt-get update && sudo apt-get upgrade

    Çà va travailler un petit moment selon la puissance de votre machine. On le laisse faire tranquillement.

    Installation de Docker

    Nous allons utiliser Docker, car ce logiciel est magique.

    Docker permet de containériser vos applications.

    Cela veut dire que chaque application se retrouve dans un environnement virtuel indépendant de votre hôte et des autres applications docker.

    Vous pouvez par exemple avoir plusieurs instances WordPress, plusieurs version de python, Home Assistant, Drupal, Joomla et tout çà sur le même serveur, dans des environnements totalement isolés.

    Docker rajoute une couche de sécurité, car chaque container discute seulement avec les applications que vous souhaitez.

    L’installation est très simple, il y a juste à lancer un script et tout se passe automatiquement.

    On créé un répertoire Docker :

    mkdir docker && cd docker

    Puis on lance le script de chez Docker :

    curl -fsSL https://get.docker.com | sh

    Ainsi grâce à PI Imager et au script de docker, l’installation de Raspberry PI OS et de docker se fait en quelques lignes de commandes.

    Dans le prochain article je vous montrerez comment installer Portainer et Home Assistant.

    Portainer nous simplifiera grandement la gestion de nos centenaires et Home Assistant, nous permettra de transformer notre Raspberry PI en une box domotique.

  • Adguard Home: proxy anti-pub et contrôle parental

    Adguard Home: proxy anti-pub et contrôle parental

    Cet article expliquera comment installer Adguard Home: proxy anti-pub et contrôle parental sur le wifi de la maison.

    Nous avons de plus en plus d’appareil connecté sur le net dans notre domicile (smartphone, tablette, ordinateur), et il est de plus de plus difficile de sécuriser tous ces appareils.

    Je vous propose ainsi de centraliser cette sécurité pour protéger vos enfants en toute sérénité, quelque soit l’appareil utilisé chez vous.

    J’ai choisi d’utiliser Adguard Home car il est vraiment puissant et facilite grandement sa configuration.

    Il accepte les listes Pi-hole, ce qui permet en plus d’automatiser une black liste sur plusieurs contenus (malware, site de jeux, porno, etc). Il permet également de bloquer la majorité des services de réseau sociaux, jeux en un seul clique.

    interface Adguard Home permettant de bloquer facilement les services
    interface Adguard Home permettant de bloquer facilement les services

    Cet article sera divisé en deux grande parties :

    • Installation du proxy Adguard Home
    • Mise en place d’un proxy transparent

    On s’installe confortablement à son bureau, on se connecte en SSH à son Raspberry, et c’est partie !

    Installation du proxy Adguard home

    Nous utiliserons la méthode du Snap store pour installer Adguard Home.

    Snap store facilite grandement son installation sur Linux et nous évitera par la même occasion de taper trop de lignes de commandes.

    Voici le lien du tutoriel d’installation depuis leur site.

    https://snapcraft.io/docs/installing-snap-on-raspbian

    Je vous résume les commandes à effectuer :

    mise à jour système :

    sudo apt update && sudo apt upgrade

    installation du store snap :

    sudo apt install snapd

    redémarrage de la machine pour prise en compte :

    sudo reboot

    installation du coeur du store :

    sudo snap install core

    Une fois snap store installé, on pourra installer Adguard home :

    sudo snap install adguard-home

    L’installation de Adguard Home sous docker fera l’effat d’un prochain article mais pour celles et ceux qui ne pourraient supporter un tel suspense, voici la page Github pour ceux ou celles qui souhaiteraient utiliser une installation alternative.

    https://github.com/AdguardTeam/AdGuardHome#getting-started

    Une fois Adguard Home installé vous pouvez vous connecter à l’interface web en utilisant cet adresse :

    http://127.0.0.1:3000/ (remplacer l’adresse par celle de votre Raspberry pour y accéder depuis un autre terminal.

    Le service Adguard Home s’activant automatiquement, il est inutile de faire d’autres manipulations.

    Si vous n’accédez pas à l’interface penser à ouvrir le port 3000.

    Et voila le tour est joué pour le coté contrôle parental. L’interface est assez intuitive.

    Vous pouvez configurer les clients avec leurs mac adresses, IP, nom DNS. De plus, chaque client peut avoir sa propre configuration et ses propres règles.

    Mise en place d’un proxy transparent

    Nous avons maintenant un contrôle parental actif, mais nos appareils se connectent à notre box et non sur notre Raspberry.

    L’intérêt de Adguard Home est qu’il utilise la résolution DNS pour autoriser un flux.

    Nous pouvons donc soit configuré tous nos appareils avec le DNS de notre Raspberry soit indiquer à notre box le DNS à utiliser.

    Pour cela il suffira de changer le DNS de votre FAI par celui de votre Raspberry.

    Ainsi, l’équipement se connectera à votre box, qui se connectera à votre Raspberry, pour vérifier les autorisations de flux.

    Pour aller plus loin

    Pensez à configurer votre Raspberry avec une adresse fixe. Vous pouvez soit la configurer directement sur le Raspberry soit depuis votre routeur fibre.

    Configurer votre terminaux sur Adguard Home avec leurs adresses mac

    Faites une règle générale par défaut sur Adguard Home. De cette manière, même si un nouvel équipement se connecte il sera automatiquement protéger par Adguard Home.

    Voila la puissance de Adguard Home: proxy anti-pub et contrôle parental.

  • Le Raspberry, le nano ordinateur qui se voulait grand

    Le Raspberry, le nano ordinateur qui se voulait grand

    Aujourd’hui je vais vous parler du Raspberry, le nano ordinateur qui se voulait grand.

    Le Raspberry est devenu un must have dans le domaine de l’hébergement de service à la maison.

    Qu’est ce qu’un Raspberry ?

    C’est un nano ordinateur avec un processeur ARM.
    Il Permet l’exécution de plusieurs Système d exploitation libre comme Debian, Ubuntu, RaspiOS.
    Elle embarque des pin GPIO ce qui permet la connexion de cartes d extension.
    Le nom vient du projet mais également au début de l informatique, les sociétés utilisaient des nom de fruits. Raspberry veut dire framboise. Il y a également Apple, Blackberry par exemple.
    PI provient du langage qu’utilise le micro ordinateur, car à l’origine il devait fonctionner que sur Python.

    Pourquoi utiliser un Raspberry ?

    Le Prix pour commencer, vous pouvez vous procurez un Raspberry pour moins de 100€.
    Un autre point est le silence de cet appareil. Il peut être utilisé sans ventilateur. Sauf depuis la génération 4 qui a été boosté au niveau du CPU. Les ventilateurs de base sont une bonne option, mais pour une durabilité optimum l’investissement d’un boitier passif peut être nécessaire. Et dans passif, il y a : pas de bruit du tout !
    Naturellement tout dépendra de l’usage qui en est fait.

    Les caractéristiques physique de l’appareil. Sa taille est celle d’une carte bancaire ce qui lui permet de s’intégrer à toutes configurations.

    Le Raspberry est en Full HD avec une résolution de 1980*1080 en 1080p. Autant dire que c’est un bon candidat pour faire un media center à la maison.

    Que peut-on faire avec ?

    Grâce à sa faible consommation électrique, il peut être allumé tout le temps.

    Cela lui permet d’exceller dans les hébergements de service à la maison.

    Par exemple, vous pouvez réaliser un serveur domotique, un média center, une home box, une console de jeux rétro, héberger un site web, un proxy anti pub, un contrôle parental.

    Bref, les possibilités sont énormes.

    En conclusion

    Le Raspberry, le nano ordinateur qui se voulait grand, est un must have à la maison. Ces possibilités sont sans limites.

    Il ravira tous vos projets.

    Dans un prochain article, je vous montrerais comment installer RaspiOS Lite, basé sur une Debian, puis je vous montrerai comment installer le plus beau des logiciels Docker 🙂

    N’hésitez pas à consulter mon article sur Adguard Home, le proxy anti pub et contrôle parental