Le 08 Nov 2021 20:51:17 GMT, Thomas Alexandre a écrit :
Sur https://hub.docker.com je n'ai trouvé aucune image pour INN, est-ce
que ça intéresserait quelqu'un ? Je suis tous prêt à pousser ce que j'ai
déjà fait (à base d'Alpine Linux) sur github et sur hub.docker.com
J'ai demandé à chatGPT par curiosité. En réponse à un autre prompt, il m'a
préconisé l'emploi de linux-alpine dans les dockers, pour réduire
l'empreinte mémoire et l'usage CPU des dockers. D'autre part, il m'a
laissé entendre qu'avec un pi3 ou 4 tu n'aurais plus le potentiel problème
de RAM, donc ça tient à pas grand chose d'après le chatbot. Il m'a répondu
ceci :
INN (InterNetNews) sur Raspberry Pi 2 dans Docker Swarm
INN (InterNetNews) est un serveur de news destiné à gérer des newsgroups
via les protocoles NNTP. Son architecture légère permet effectivement de
tourner sur des configurations modestes, comme celles mentionnées (486
avec 8 Mo de RAM). Cependant, intégrer INN sur un Raspberry Pi 2 déjà
sollicité par d’autres services dans Docker nécessite une stratégie
réfléchie pour éviter une surcharge.
Analyse des contraintes matérielles
Le Raspberry Pi 2 a des limitations importantes :
1 Go de RAM pour tout l’environnement Docker et le système
d’exploitation.
CPU ARM Cortex-A7, qui peut gérer des tâches légères, mais se montre
limité avec plusieurs services simultanés.
Stockage sur carte SD, sujet à des problèmes d’usure et de lenteur
pour des opérations d'écriture fréquentes.
INN ne consomme que peu de ressources, mais il peut être contraignant en :
Occupant de la RAM pour les processus actifs (surtout s'il y a des
connexions simultanées).
Demandant de l'espace pour stocker les articles des newsgroups.
Recommandations pour installer INN
Pour ajouter INN au Raspberry Pi sans compromettre les autres services,
voici quelques stratégies :
1. Installer INN en tant que conteneur Docker séparé
Créer une image Docker pour INN ou utiliser une image préexistante.
Assigner des limites strictes en RAM et CPU au conteneur Docker INN :
docker run --memory=128m --cpus="0.2" inn-container
Limiter le stockage des articles des newsgroups à une partition ou un
volume spécifique pour éviter de saturer la carte SD.
2. Prévoir des optimisations sur INN
Configurer INN en mode lecteur (reader-only) si l’envoi de posts n'est
pas nécessaire.
Restreindre les groupes accessibles pour limiter le volume de données.
Utiliser des quotas pour éviter une occupation excessive du disque.
3. Répartir la charge sur d'autres nœuds Docker
Si possible, déplacer certains services plus gourmands (comme Rsyslog
ou Logspout) sur un autre Raspberry Pi ou un serveur dédié, permettant au
Pi 2 de se concentrer sur les services légers comme INN.
4. Tester la charge
Avant de déployer INN en production, évaluer son impact en :
Mesurant la consommation de RAM et CPU avec des outils comme htop.
Monitorant les performances des autres services Docker (Nginx, PHP,
etc.).
5. Utiliser un swap
Activer un fichier de swap peut aider à gérer des pics de consommation de
mémoire :
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Avantages de la solution
Docker permet une gestion isolée et modulaire des ressources pour INN.
Le Pi 2 peut rester viable si INN est bien configuré pour un usage
léger.
Limites potentielles
Si INN ou un autre service sollicite trop de RAM ou de CPU, le système
pourrait devenir instable.
La vitesse des IO sur la carte SD pourrait devenir un goulot
d’étranglement si les logs ou les articles des newsgroups sont nombreux.
Si la situation évolue ou si tu as besoin d'un guide précis pour
configurer INN dans Docker, je suis là pour t'aider ! 😊
-- Kiwi, aptéryx, juge blond qui fume chez vous ? -- Schmitter, Frédéric