Je vous présente mon tuto sur l'installation de Docker avec interface graphique (Portainer), intégration de Domoticz, Homebridge etc... sur Raspberry Pi. Préambule
Installer Raspbian Lite (buster au moment où j'écris le tuto), ne pas oublier de le mettre à jour.
Pour simplifier la rédaction toutes les commandes sont en "super-user".
Installation de Docker
Code : Tout sélectionner
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.shCode : Tout sélectionner
apt install python3-pip
pip3 install docker-composeSite officiel : https://documentation.portainer.io/v2.0 ... alldocker/
Code : Tout sélectionner
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ceUtilisez votre navigateur Web préféré, adresse IP du Pi et port correspondant : http://192.168.0.32:9000/
Taper un nom d'utilisateur/mot de passe et fenêtre suivante choisir Docker puis Connect.
Et voilà ! Vous voyez votre Docker "local", cliquez dessus pour le gérer.
Installation des conteneurs
Chaque conteneur est installé via un "Template" : App Templates/Custom Templates/Add Custom Template
Title : domoticz
Description : domoticz
Copier/coller le code suivant :
Code : Tout sélectionner
version: "2.1"
services:
domoticz:
image: domoticz/domoticz
container_name: domoticz
restart: unless-stopped
#devices:
#- /dev/ttyUSB0:/dev/ttyUSB0
ports:
- 8080:8080
volumes:
- /home/pi/domoticz/userdata:/opt/domoticz/userdata
environment:
- TZ=Europe/ParisLes périphériques USB connectés au Raspberry qu'on veut utiliser dans Domoticz sont à indiquer à la rubrique devices (à décomenter).
La rubrique volumes indique où sont stockées les données utilisateur.
Cliquer sur Create custom template.
Template créé, le sélectionner et cliquer sur Deploy the stack.
Patienter le temps du téléchargement/déploiement de l'image jusqu'au message "Stack successfully deployed".
Retourner sur le Dashboard, rubrique Containers, il devrait être là avec statut running.
Et voilà ! Domoticz est dockerisé et fonctionnel
Pour désinstaller un conteneur, il faut le supprimer dans le menu Stacks.
L'installation d'un autre conteneur se fait par la création d'un nouveau template, même procédure que précédemment.
Je vous colle ici ceux que j'utilise.
Homebridge
Code : Tout sélectionner
version: "2"
services:
homebridge:
image: oznu/homebridge:raspberry-pi
container_name: homebridge
restart: always
network_mode: host
volumes:
- /home/pi/homebridge/config:/homebridge
environment:
- PGID=1000
- PUID=1000
- HOMEBRIDGE_CONFIG_UI=1
- HOMEBRIDGE_CONFIG_UI_PORT=8581Code : Tout sélectionner
version: "2.1"
services:
node-red:
image: nodered/node-red:latest
container_name: nodered
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
ports:
- 1880:1880
volumes:
- /home/pi/node-red-data:/data
user: ${LOCAL_USER}:${LOCAL_USER}
restart: unless-stoppedPour celui-ci c'est un peu particulier, il faut créer les répertoires et la config manuellement avant déploiement du stack.
Code : Tout sélectionner
mkdir mosquitto mosquitto/config mosquitto/log mosquitto/data
nano mosquitto/config/mosquitto.confCode : Tout sélectionner
allow_anonymous true
listener 1883
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.logCode : Tout sélectionner
version: "2.1"
services:
mosquitto:
image: eclipse-mosquitto
container_name: mosquitto
environment:
- PUID=1000
- PGID=1000
volumes:
- /home/pi/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf
- /home/pi/mosquitto/log:/mosquitto/log
- /home/pi/mosquitto/data:/mosquitto/data
ports:
- 1883:1883
- 9001:9001
restart: always