
đ Aussi en: English · Deutsch · Español
La motivation de dĂ©part Ă©tait double : favoriser la souverainetĂ© numĂ©rique tout en faisant de lâensemble un bac Ă sable personnel pour apprendre. đLes premiers dĂ©ploiements ont Ă©tĂ© provisionnĂ©s avec Ansible. Toutefois, la chaĂźne dâautomatisation nâa jamais Ă©tĂ© totalement aboutie de bout en bout ; les petits ajustements et rĂ©glages dâexploitation se faisaient encore Ă la main. đ§Jusquâici, chaque instance Nextcloud avait son propre playbook. Cela fonctionnait, mais cette architecture a montrĂ© ses faiblesses structurelles avec le temps â surtout dĂšs que des changements synchronisĂ©s ou centralisĂ©s sur les deux environnements devenaient nĂ©cessaires. âïž
JusquâĂ prĂ©sent, le systĂšme dâexploitation de base Ă©tait Debian 12. đ§
đŻ Les objectifs techniques concrets de la nouvelle pile
La nouvelle infrastructure nâest pas un simple changement de distribution. Câest une Ă©volution dâarchitecture mĂ»rement rĂ©flĂ©chie.
Les objectifs concrets du nouveau setup :
- đ Nginx avec prise en charge de HTTP/3 et QUIC pour des performances modernes au niveau de la couche transport et une diffusion web pĂ©renne
- đïž MariaDB comme backend relationnel, pour une persistance des donnĂ©es prĂ©visible et performante
- đ„ Pare-feu basĂ© sur iptables pour un filtrage de paquets dĂ©terministe et un contrĂŽle explicite du trafic
- đ Certificats Letâs Encrypt pour une gestion du cycle de vie TLS automatisĂ©e et gratuite
LâidĂ©e est de faire tourner une pile lĂ©gĂšre, performante et cryptographiquement solide, avec le moins de surface dâattaque superflue possible.
đ StratĂ©gie de migration : de Debian Ă AlmaLinux
Je prĂ©pare actuellement une refonte complĂšte de lâinfrastructure. Cette fois, jâai dĂ©libĂ©rĂ©ment choisi AlmaLinux, une distribution compatible Red Hat.
Ce choix sâexplique en partie par lâenvie de mieux connaĂźtre lâĂ©cosystĂšme Red Hat, mais surtout par mon intĂ©rĂȘt pour SELinux. đĄïž
Pour simplifier, SELinux ajoute une couche de sécurité supplémentaire par-dessus les permissions Linux classiques.
Au lieu de se reposer uniquement sur les droits utilisateur/groupe, il impose un contrĂŽle dâaccĂšs fondĂ© sur des politiques : les services ne peuvent effectuer que les actions explicitement autorisĂ©es. MĂȘme si un processus est compromis, SELinux peut lâempĂȘcher dâinteragir avec des composants systĂšme sans rapport.
Je suis dĂ©jĂ bien avancĂ© dans la migration â mais Ă ce stade, tout tourne autour dâune seule chose : tester, tester et encore tester. đ§Ș
đ Collabora : des installations manuelles Ă la conteneurisation
Dans mes setups prĂ©cĂ©dents, lâintĂ©gration de Collabora Online Ă©tait toujours installĂ©e Ă la main.
En production chez les associations, cela provoquait rĂ©guliĂšrement des frictions : problĂšmes de compatibilitĂ©, instabilitĂ© dâexploitation et obligation rĂ©currente de sâen tenir Ă des versions plus anciennes. đ©
Ă la longue, cette charge permanente est devenue si pĂ©nible que jâai mĂȘme envisagĂ© de passer Ă une offre Nextcloud hĂ©bergĂ©e commerciale. đž
Dâun point de vue purement financier, lâhĂ©bergement managĂ© nâest plus beaucoup plus cher quâun vServer privĂ©.
La vraie diffĂ©rence se situe dans le contrĂŽle, la flexibilitĂ© et la libertĂ© dâarchitecture.
De plus, certains hĂ©bergeurs Nextcloud comptabilisent le nombre dâutilisateurs Collabora actifs simultanĂ©ment et facturent un supplĂ©ment au-delĂ de certains seuils â un modĂšle qui colle mal Ă une infrastructure portĂ©e par des bĂ©nĂ©voles. đ«
đł Grande avancĂ©e : Collabora dĂ©ployĂ© avec Podman
Aujourdâhui, jâai fait une vraie percĂ©e du cĂŽtĂ© de Collabora.
Sur les conseils de ChatGPT (oui⊠je lâavoue đ
), jâai migrĂ© le service Collabora vers un dĂ©ploiement autonome en conteneur avec Podman.
Nextcloud se connecte dĂ©sormais Ă ce point de terminaison externe au lieu dâhĂ©berger lâapplication en interne.
Cette approche est gĂ©nĂ©ralement considĂ©rĂ©e comme plus stable, plus facile Ă maintenir et plus propre Ă exploiter que le modĂšle classique intĂ©grĂ© Ă lâapplication. đ§±
Cela dit, ce setup doit encore ĂȘtre validĂ© en profondeur.
Dâautres tests sont inĂ©vitables â et en parallĂšle, je vais continuer Ă creuser le comportement de SELinux dans les environnements conteneurisĂ©s. đ
âïž OĂč en est Ansible et prochaines Ă©tapes
La base de code Ansible est dĂ©jĂ opĂ©rationnelle, mais loin dâĂȘtre « terminĂ©e ». Mon workflow actuel est volontairement itĂ©ratif :
- DĂ©truire le vServer de test Nextcloud đŁ
- Tout rĂ©installer Ă partir de zĂ©ro đ§°
- Peaufiner les playbooks đ
- Et on recommence đ
Cette boucle « on casse, on reconstruit » est voulue â câest le chemin le plus court vers un Ă©tat dâinfrastructure reproductible et dĂ©terministe.
đŠ TĂ©lĂ©chargement : playbook Ansible (bĂȘta)
LâĂ©tat actuel du projet Ansible est dĂ©jĂ entiĂšrement exĂ©cutable et tourne de bout en bout sans erreur dans mes environnements de test.
Cependant, avant de lâutiliser chez vous, vous devez adapter toutes les valeurs sensibles et propres Ă votre environnement
(par ex. noms dâhĂŽte, domaines, identifiants, secrets, adresses IP).
Vous pouvez tĂ©lĂ©charger lâarchive zip actuelle du projet Ansible ici :
đ TĂ©lĂ©charger la pile Ansible Nextcloud (bĂȘta)
Notez que cette base de code est actuellement en version bĂȘta.
Les playbooks fonctionnent, mais le projet est toujours en dĂ©veloppement actif et sâamĂ©liore en continu.
Je travaille déjà à des améliorations et optimisations, et je prévois de publier une version mise à jour dans les prochains jours.
â ïž Avertissement
Ce projet est fourni en lâĂ©tat, sans aucune garantie dâaucune sorte.
Son utilisation se fait entiÚrement sous votre propre responsabilité.
Je vous recommande vivement de tester les playbooks dans un environnement hors production avant dâenvisager tout dĂ©ploiement en production.
Infrastructure as code. La communautĂ© dâabord. Totalement souverain. đŽââ ïž




