Installation avec docker compose et raspberry pi

Docker


Voici comment installer docker et docker-compose sur un raspberry Pi

Pour plus d'informations et de documentation, n'hésitez pas à visiter leur site web : https://docs.docker.com/

1. Install Docker

sudo curl -sSL https://get.docker.com | sh

2. Add permission to Pi User to run Docker Commands

sudo usermod -aG docker pi

3. Test Docker installation

sudo docker run hello-world

4. IMPORTANT! Install proper dependencies

sudo apt install -y libffi-dev libssl-dev

sudo apt install -y python3 python3-pip

sudo apt remove python-configparser

5. Install Docker Compose

sudo pip3 -v install docker-compose

 

Home Assistant

 Home assistant est un système de domotique puissant qui permet d'avoir une maison connectée.

Vous pourrez trouver toutes les informations de projet open-source à cette adresse : https://www.home-assistant.io/

L'installation sur rapsberry pi peut se faire de plusieurs manières comme indiquée sur le site mais nous le verrons sous docker-compose ici à condition d'avoir installé docker et docker-compose comme vu sur ce tutoriel 

Paramétrage, pré-requis

Il faut créer un dossier docker :


1
sudo mkdir -p /opt/docker


Ensuite il faut créer un fichier pour déployer le tout de manière automatique. Ce fichier permet d'installer Home Assistant et permettra également l'installation automatique d'autres conteneurs (Node-Red, Mosquitto, ...) qui seront utiles pour notre box domotique


1
sudo nano /opt/docker/docker-compose.yml


Copié et collé le contenu ci-dessous en modifiant les paramètres selon votre réseau :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
version: '3'
services:
homeassistant:
image: homeassistant/raspberrypi4-homeassistant:0.116.3 #version de Home Assistant
container_name: homeassistant
logging:
driver: "json-file"
options:
max-size: "50M"
max-file: "5"
volumes:
- /opt/docker/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
devices:
- /dev/Z-Wave:/dev/Z-Wave #clé USB domotique (Z-Wave)
network_mode: host
restart: always
ports:
- 8123:8123

mosquitto:
build:
context: ./mosquitto/build/
dockerfile: dockerfile
container_name: mosquitto
ports:
- 1883:1883
- 9883:9883
- 10883:10883
- 11883:11883
volumes:
- /opt/docker/mosquitto/data:/mosquitto/data
- /opt/docker/mosquitto/logs:/mosquitto/logs
- /opt/docker/mosquitto/config:/mosquitto/config
- /opt/docker/mosquitto/ca_certificates:/mosquitto/ca_certificates
- /opt/docker/mosquitto/certs:/mosquitto/certs
- /opt/docker/mosquitto/config/conf.d:/mosquitto/config/conf.d
- /opt/docker/mosquitto/build:/mosquitto/build
restart: always

node-red:
image: nodered/node-red:1.2.1-12 #version de node-red
container_name: node-red
environment:
- TZ=Europe/Paris
devices:
- /dev/Enocean:/dev/Enocean #clé domotique Enocean
ports:
- 1880:1880
volumes:
- /opt/docker/node-red:/data
restart: always


Vous pourrez trouver les versions des images de home assistant, node-red, ... à ces adresses selon votre configuration matérielle :
- Home Assistant : https://hub.docker.com/r/homeassistant/home-assistant/tags
- Node-Red ; https://hub.docker.com/r/nodered/node-red/tags

Si vous décidez de mettre à jour les versions de Home Assistant et/ou Node-Red, allez chercher sur le site ci-dessus le tag de la version souhaitée. Placez-vous à l'endroit où se trouve le fichier docker-compose.yml et faites un :


1
2
sudo docker-compose up -d homeassistant
#ou nodered si vous voulez le mettre à jour


Persistent USB Devices

Pour les devices USB que vous pourrez intégrer à Home Assistant, je vous recommande fortement d'utiliser les règles udev afin que leur nom ne changent pas après un reboot !

Pour ce faire, trouver le nom du constructeur de la clé et son ID. J'ai une clé Z-Wave et une Enocean.


1
lsusb


Voilà le résultat :


1
2
3
4
5
6
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 004: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Après l'ID on voit des séries de 4 chiffres/lettres 0403:6001. La première série correspond au Vendor et la deuxième au périphérique

Pour créer une clé USB en mode persistent, il suffit de créer ce fichier :


1
sudo nano /etc/udev/rules.d/99-usb-serial.rules


Et copier coller le contenu ci-dessous en remplaçant les séries de chiffres par les vôtres :


1
2
3
4
5
#Z-Wave
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="Z-Wave", GROUP="dialout", MODE="0777"

#Enocean
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="Enocean", GROUP="dialout", MODE="0777"


Après un reboot de la machine, on peut voir les SYMLINK USB crées en tapant lsub

Installation de Home Assistant

Maintenant que le paramétrage est terminé, il va falloir installer home-assistant.
Tout d'abord il faut se placer à l'endroit où se trouve le fichier docker-compose.yml

Ensuite, entrer la ligne de commande suivante :


1
sudo docker-compose up homeassistant


La première installation peut prendre jusqu'à 20 minutes. Une fois l'installation terminée, vous pouvez fermer et quitter le conteneur en faisant un crtl+c si tout s'est bien déroulé.

Ensuiste relancer la même commande en ajouter la tag -d pour permettre au démon de lancer le conteneur en tâche de fond :


1
sudo docker-compose up -d homeassistant


Et vous avez accès à l'interface graphique de Home Assistant via cette URL : http://adresseipduraspberry:8123/


Revision #1
Created 2026-04-24 07:35:46 UTC by Nico là
Updated 2026-04-24 07:39:06 UTC by Nico là