
🌐 Aussi en: English · Deutsch · Español
« Operating Community Nextcloud Instances with Ansible, AlmaLinux, SELinux and a Podman-based Collabora Stack »
(en anglais),
vous savez déjà que tout a commencé par une idée parfaitement raisonnable.(Voix du narrateur : ce n’était pas une idée parfaitement raisonnable.)
Le Plan Initial™ : quitter Debian, adopter SELinux
À un moment, je me suis dit : « Et pourquoi ne pas passer de Debian à AlmaLinux ? »
La raison principale ? SELinux.
Parce que rien ne crie « projet du week-end amusant » comme déboguer des contextes de sécurité à 2 heures du matin.
Pendant cette phase, j’ai compris comment intégrer Collabora via des conteneurs — et c’était
nettement plus stable et prévisible.
Phase 2 : « Et si on ajoutait Kubernetes, tant qu’à faire » 🤦♂️
Évidemment, ça a dégénéré.
« Je devrais sans doute installer Kubernetes. »
Entrée en scène de K3s — léger, simple, et juste assez dangereux pour être déployé sur un VPS.
L’idée actuelle :
- Faire tourner les services de base (MariaDB, Redis) en natif
- Faire tourner les applications dans K3s
- Me convaincre que c’est de « l’architecture » et pas de la curiosité
Ansible : de l’outil à l’obsession
Ce qui n’était « qu’un playbook » est désormais quasiment un petit framework.
Deux playbooks principaux :
- Nextcloud
- WordPress
Des composants partagés partout :
- Dépôts
- fail2ban
- MariaDB
- K3s
- Règles de pare-feu
État actuel : ~16 rôles.
État émotionnel : 16 rôles également.
Le pair programming avec une IA, c’est réel 🤖
Utiliser Claude AI dans VS Code, c’est comme :
« Un ingénieur DevSecOps senior a rejoint votre session. »
- Il demande les sorties de commandes
- Il débogue les erreurs
- Il refactorise les playbooks
- Il explique vraiment les problèmes
Un peu terrifiant. Extrêmement utile.
Désormais avec monitoring 📊
- Prometheus
- Grafana
Je peux maintenant regarder mon système échouer en temps réel — mais avec élégance.
🔧 Plongée technique : du « simple blog » à une infrastructure complète
Faire tourner un blog WordPress sur un VPS, ça paraît trivial — jusqu’à ce qu’on commence à penser à :
- Certificats TLS
- Pare-feu
- Mises à jour
- Surveillance de la sécurité
Alors, naturellement, j’ai tout automatisé.
Infrastructure as Code (autrement dit : du YAML partout)
L’ensemble de la configuration est défini dans Ansible :
ansible-playbook blog.yml --limit meinserverReproductible. Idempotent. Légèrement addictif.
Architecture : K3s contre hôte
Dans K3s :
- WordPress (PHP-FPM)
- Nginx (sidecar)
- MariaDB
- ingress-nginx
- cert-manager (Let’s Encrypt)
- CronJob WordPress
Sur l’hôte :
- Prometheus
- Grafana
- Node Exporter
- fail2ban
- rkhunter
- auditd
- msmtp
Le déroulement du playbook
- Système de base
- SELinux
- K3s
- Déploiement
- Monitoring
Sécurité : défense en profondeur
- Pare-feu iptables
- fail2ban
- Limitation de débit
- HTTPS via Let’s Encrypt
- SELinux en mode enforcing
- auditd
- Mises à jour de sécurité automatiques
- Analyses rkhunter
Pour conclure : chantier en cours 🔧
Ce qui a commencé par :
« Essayons AlmaLinux »
Est devenu :
- Kubernetes
- Des conteneurs
- Un framework Ansible
- Une stack de monitoring
- De l’exploitation assistée par IA
À ce stade, je fais tourner, en gros, un mini-cloud sur un VPS.
Mais : je suis encore en train d’affiner, de tester et de tout recasser.
Le code Ansible n’est pas encore publié — surtout parce que je peaufine encore les rôles, que je fais le ménage
et que je veux m’assurer qu’il n’explose pas complètement sur un système vierge.
(autrement dit « encore une petite modif rapide » — célèbres derniers mots)
Je compte publier le playbook complet sur GitHub dans les prochains jours — dès que je serai sûr qu’il est
à peu près réutilisable et pas juste du chaos sur mesure.
La vision d’ensemble derrière tout ça : j’envisage de migrer les instances Nextcloud existantes
de deux associations locales vers cette architecture.
Mais pour l’instant, c’est encore un peu trop risqué — déplacer des données de production tout en introduisant K3s
ressemble à un excellent moyen de gâcher un week-end (voire plusieurs).
Cette technologie reste un territoire assez nouveau pour moi, et j’aimerais acquérir plus d’expérience concrète
avant de lui confier de vraies données d’utilisateurs.
Ce sera peut-être un projet pour l’automne 🍂
Restez à l’écoute 😄





