Raspberry Pi et Docker : déployer des services

Le Raspberry Pi permet aujourd’hui d’héberger de nombreux services légers à la maison, souvent pour un coût réduit et une consommation maîtrisée. Associer Docker sur ce micro-ordinateur simplifie la cohabitation des applications et leurs dépendances, et limite les conflits de paquets entre services exigeants.

Beaucoup d’amateurs se heurtent aux conflits entre PiHole et un serveur web sur un Pi 3, faute d’isolation entre les environnements logiciels. Pour gagner du temps, retenez d’abord quelques principes et choix pratiques essentiels.

A retenir :

  • Déploiement rapide d’environnements complets avec Docker Compose préconfiguré
  • Isolation des services pour éviter les conflits entre PiHole et serveurs web
  • Portainer pour gestion graphique des conteneurs, volumes et utilisateurs locaux
  • Choix d’OS et ressources adaptés selon Raspberry Pi modèle et usage

Installer Docker sur Raspberry Pi : script et premiers pas

Après avoir fixé ces repères, l’étape suivante consiste à installer Docker sur le Raspberry Pi pour préparer les conteneurs et services souhaités. Commencez par mettre à jour le système Debian et redémarrer le Raspberry Pi pour appliquer les correctifs.

Ensuite, la méthode la plus simple reste l’exécution du script officiel d’installation de Docker, qui détecte l’architecture et installe les paquets nécessaires. Utilisez la commande curl fournie pour détecter automatiquement l’architecture et installer les paquets nécessaires.

À la fin, ajoutez votre compte utilisateur au groupe docker pour lancer des conteneurs sans sudo, ce qui facilite l’usage au quotidien. Sur certains systèmes, il est parfois nécessaire d’ajuster les permissions de la socket Docker pour éviter des erreurs de permission, en sachant qu’il s’agit d’un arbitrage sécurité.

« J’ai installé Docker sur mon Pi 4 en une dizaine de minutes, tout s’est bien déroulé et mes services sont isolés. »

Alex D.

A lire :  Agence web et création d'applications mobiles : une expertise à ne pas négliger

Connexion SSH et téléchargement du script

Pour préparer l’installation, commencez par une connexion SSH au Raspberry Pi et une mise à jour complète des paquets pour éviter des incompatibilités. Exécutez la commande curl -sSL https://get.docker.com | sh qui installe Docker automatiquement et adapte les paquets à l’architecture.

Après installation, testez un conteneur simple comme Ubuntu pour vérifier le bon fonctionnement du daemon et l’accès shell. Si le conteneur ne démarre pas, le message d’erreur indique souvent des droits sur la socket à corriger ou une gestion du groupe docker à ajuster.

Étapes SSH et install :

  • Se connecter en SSH au Raspberry Pi
  • Mettre à jour apt et redémarrer le système
  • Exécuter le script d’installation Docker via curl
  • Ajouter l’utilisateur courant au groupe docker

« J’ai dû ajuster les permissions de /var/run/docker.sock pour lancer mes premiers conteneurs, solution rapide mais à réexaminer. »

Marc N.

Modèle Processeur RAM Usage recommandé
Raspberry Pi 3 Model B 4 cœurs ARM Cortex-A53 1,2 GHz 1 Go Projets légers, Pi-hole, petits serveurs
Raspberry Pi 4 Model B 4 cœurs Cortex-A72 1,5 GHz 2/4/8 Go Containers multiples, Home Assistant, Nextcloud
Raspberry Pi Zero 2 W 4 cœurs 1,0 GHz 512 Mo Projets très légers, capteurs, instances de test
Raspberry Pi 400 4 cœurs 1,8 GHz 4 Go Usage bureau léger, serveurs domestiques

Portainer sur Raspberry Pi : interface et gestion des conteneurs

Après l’installation de Docker, l’utilisation d’une interface comme Portainer simplifie nettement l’exploitation et la supervision des conteneurs sur le Raspberry Pi. Portainer s’installe lui-même comme conteneur Docker et expose une interface web sur le port 9000 pour administrer volumes, images et réseaux.

Créer un volume pour la persistance des données est recommandé avant de lancer le conteneur Portainer afin de conserver les paramètres entre redémarrages. Selon Code 4 Pi, l’interface réduit le temps d’administration pour des déploiements domestiques comme professionnels.

Déployer Portainer et créer un volume

A lire :  Comment personnaliser votre interface Linux selon vos besoins ?

Pour garantir la continuité des paramètres, démarrez par la création d’un volume Docker dédié à Portainer et mappez-le au conteneur. La commande docker volume create portainer_data assure la conservation des configurations entre redémarrages et facilite la restauration si nécessaire.

Ensuite, lancez le conteneur Portainer en mappant le port 9000 et le volume créé pour la persistance, puis accédez à l’interface via l’IP locale. Selon Nicolas Forcet, l’usage combiné de Docker et Portainer est un moyen rapide d’industrialiser des stacks domestiques.

Commandes essentielles :

  • docker volume create portainer_data
  • docker run -d -p 9000:9000 –name portainer –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
  • Accéder via http://IPduRaspberryPI:9000
  • Créer un compte administrateur initial

« L’équipe a déployé Portainer sur plusieurs Pi et le temps d’administration a été sensiblement réduit. »

Sarah P.

Outil Usage principal Niveau d’effort Idéal pour
Portainer Interface graphique pour Docker Faible Administrateurs locaux
Hypriot Système d’exploitation optimisé Docker Moyen Déploiements simples sur Pi
Balena Gestion de flotte et déploiement Moyen à élevé Flottes de Raspberry Pi
Docker CLI Gestion en ligne de commande Variable selon compétence Utilisateurs avancés

Sécurité et accès distant

Une fois Portainer actif, configurez l’accès et protégez l’interface par des identifiants forts et des règles réseau pour limiter les risques. Créez un compte administrateur avec un mot de passe fort et activez l’authentification en tenant compte des bonnes pratiques locales.

Pour accéder à des instances distantes, ajoutez des endpoints sécurisés et surveillez les logs régulièrement afin de détecter des comportements anormaux. Il reste préférable d’exposer Portainer uniquement sur le réseau local, ou via un tunnel sécurisé lorsque l’accès distant est nécessaire.

Bonnes pratiques sécurité :

  • Utiliser des mots de passe de plus de 12 caractères
  • Activer l’authentification et limiter les comptes
  • Restreindre l’accès réseau aux adresses connues
  • Surveiller les logs et les mises à jour
A lire :  Migration d’un site vers un nouveau CMS : étapes et erreurs à éviter

Déployer des services : Home Assistant, Nextcloud, OctoPrint et alternatives

Après avoir maîtrisé la gestion des conteneurs, l’objectif suivant consiste à déployer des services utiles à la maison, comme domotique, stockage et impression 3D. Sur un Raspberry Pi, Docker permet d’installer rapidement Home Assistant, Domoticz ou Jeedom selon vos préférences et votre matériel.

Ces images officielles ou maintenues par la communauté sont souvent livrées prêtes à l’emploi avec leurs dépendances, ce qui réduit les risques d’incompatibilité. Selon un guide de la Clef Digitale, l’utilisation de conteneurs facilite la mise à jour et la restauration des services.

Domotique : Home Assistant, Domoticz, Jeedom

Pour la domotique, choisissez entre Home Assistant, Domoticz ou Jeedom selon votre écosystème matériel et vos attentes en automatisation. Home Assistant offre une grande communauté et de nombreuses intégrations prêtes à l’emploi, facilitant la connexion des capteurs et appareils populaires.

Domoticz reste léger pour des setups modestes, tandis que Jeedom propose une personnalisation avancée pour utilisateurs avertis et configurations étendues. Selon Code 4 Pi, le choix dépend surtout de la complexité du projet et des connaissances techniques disponibles.

Choix domotique recommandés :

  • Home Assistant pour intégrations et communauté
  • Domoticz pour faibles ressources et simplicité
  • Jeedom pour automatisations avancées et plugins
  • Considérer l’empreinte mémoire et le stockage

« L’installation de Home Assistant via Docker m’a permis de centraliser mes capteurs très rapidement et sans conflit avec mes autres services. »

Lucas N.

Stockage et impression 3D : Nextcloud et OctoPrint

En parallèle, le stockage et l’impression 3D trouvent leur place grâce à Nextcloud et OctoPrint, deux services bien adaptés au Raspberry Pi en conteneur. Nextcloud sur Docker fournit un espace de fichiers synchronisé et accessible depuis le réseau local, avec options de chiffrement et sauvegarde.

OctoPrint, conteneurisé, gère les impressions 3D et se combine facilement avec une instance Nextcloud pour centraliser g-codes et journaux d’impression. Au fil du temps, ces conteneurs simplifient la maintenance et facilitent le passage d’une instance à une autre.

Services prêts à l’emploi :

  • Home Assistant pour automatisation
  • Nextcloud pour stockage personnel
  • OctoPrint pour impression 3D
  • Pi-hole pour filtrage DNS local

Service Usage principal Ressources approximatives Image Docker disponible
Home Assistant Domotique et automatisation Moyen Oui
Domoticz Domotique léger Faible Oui
Jeedom Automatisation avancée Moyen Oui
Nextcloud Synchronisation de fichiers Moyen à élevé Oui
OctoPrint Contrôle d’imprimante 3D Faible à moyen Oui

« L’interface Portainer a changé ma manière d’administrer mes Raspberry Pi, gain de temps notable pour mes services domestiques. »

Marie L.

Pour aller plus loin, documentez-vous sur les images officielles, la maintenance régulière et la sauvegarde des volumes afin d’assurer la pérennité de vos services. En surveillant les ressources et en adaptant le modèle de Raspberry Pi, vous obtiendrez un équilibre entre performance et coûts.

Source : Nicolas Forcet, « Raspberry Pi Installer Docker et Portainer » ; Code 4 Pi, « Docker et Docker-Compose sur Raspberry Pi » ; Blog de la Clef Digitale, « Installation de Raspberry PI OS et Docker ».

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut