Quatrieme reconstruction depuis zero, 32 min 14 s, 14/14. Elle avait un but precis : trois roles dependent desormais d une variable que le generateur pose. A froid, si instancier ne la posait pas, le defaut du role reprendrait la main en silence — juste pour forge et cloud, faux pour observatoire. Le certificat ne a froid porte observatoire et vigie, aucun ancien nom, et les deux retours SSO derivent juste sans reprise. Un seul echec, sans rapport : sur une machine des quatorze, get_url a rendu 0 octet SANS ERREUR — le cache a servi un 200 au corps vide. Le defaut s est lu deux cents lignes plus loin, dans un apt qui accusait la signature. La garde posee hier ne mordait pas : retirer une ressource vide ne vaut qu au passage suivant, quand le fichier existe deja. Les cinq roles qui telechargent une cle la mesurent maintenant dans la meme execution. P68 garde le motif. infra-mail-01 redeployee, make valider a 0 echec sur 14 machines. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q |
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| README.md | ||
serveur_collabora
Collabora Online, en natif — paquet coolwsd, systemd, derrière l'edge nginx. Aucun
conteneur.
Pourquoi ce rôle a été réécrit
Il lançait collabora/code dans Docker. C'était la seule exception conteneurisée de
la flotte, et elle contredisait le principe fondateur : logiciel libre en natif, systemd +
paquets + nginx. Elle traînait en plus une dépendance entière — community.docker — qui
n'était même pas déclarée dans requirements.yml, donc absente de tout runner.
Depuis la réécriture, plus aucun rôle du dépôt n'a besoin de Docker.
Ce qui a été éprouvé avant d'écrire
Doctrine du dépôt : éprouver l'outil avant le rôle. Sur une Debian 13.6 réelle, sans rien installer :
apt-get install --simulate coolwsd -> résout jusqu'à « Conf coolwsd (26.04.3.1-1) »
libgcc1 (exigé par le paquet) -> fourni par libgcc-s1 sur trixie
le dépôt CODE-deb -> PLAT : Packages et Release à la racine, pas de dists/
Le paquet livre aussi /etc/nginx/snippets/coolwsd.conf et un profil AppArmor — deux
choses que cette flotte sait exploiter, contrairement à une image opaque.
La configuration : par surcharge, pas par réécriture
Le coolwsd.xml livré fait 439 lignes richement commentées. Le remplacer par un
gabarit maison obligerait à suivre son évolution à chaque version amont, et ferait perdre
les commentaires qui expliquent chaque réglage.
coolwsd accepte des surcharges --o:<clé>=<valeur>. Le rôle pose donc un fragment
systemd : la configuration de Set-OPS tient en un fichier lisible, celle du paquet reste
intacte, et apt purge rend la machine à son état d'origine.
La console d'administration est FERMÉE
Elle expose un formulaire identifiant/mot de passe hors de tout SSO, avec un secret à
créer, faire tourner et surveiller — pour une fonction dont personne n'a besoin au
quotidien. Même raisonnement que serveur_forgejo_connexion_locale.
L'ouvrir (serveur_collabora_admin_actif: true) exige alors vault_collabora_admin en
voûte, et de l'ajouter au gabarit de l'instance.
Variables principales
| Variable | Défaut | Rôle |
|---|---|---|
serveur_collabora_port |
9980 |
écoute, derrière l'edge |
serveur_collabora_server_name |
bureau.<domaine> |
nom externe — vide, coolwsd le déduit mal derrière un mandataire |
serveur_collabora_domaine_nextcloud |
cloud.<domaine> |
l'hôte WOPI autorisé |
serveur_collabora_ssl_termination |
true |
TLS terminé à l'edge, comme le reste de la flotte |
serveur_collabora_admin_actif |
false |
console d'administration |
Ce que ce rôle vérifie
Il interroge /hosting/capabilities après démarrage. Un service « active » qui ne répond
pas là serait découvert par Nextcloud devant un usager, à la première ouverture de
document.
Ce qui n'est pas encore prouvé
L'installabilité est établie par simulation sur Debian 13.6. Le fonctionnement ne l'est pas : aucun écosystème de la flotte ne fait tourner Collabora aujourd'hui. La première mise en service devra vérifier l'édition d'un document de bout en bout, depuis Nextcloud.