Set-OPS-Public/roles/serveur_collabora
Daniel Allaire 1410fe41ec les cles de signature passent aussi par le cache
get_url IGNORE la configuration d apt : le mandataire pose dans
/etc/apt/apt.conf.d/ ne vaut que pour apt. Les six cles de signature
sortaient donc TOUJOURS en direct, malgre tout le travail sur le remap. Un
trou reste ouvert derriere une porte qu on croyait fermee.

Et ce n etait pas theorique. Depuis collab-01 :

  en direct     grafana 200      collabora TIMEOUT
  via le cache                   collabora 200

La route directe vers Collabora ne passe pas depuis cette zone. Trois cles
sur quatre avaient reussi PAR CHANCE, parce que leurs fournisseurs etaient
joignables. Le meme geste corrige les deux : plus rien ne sort, et la
machine qui n avait pas de route en trouve une.

POURQUOI SEULE UNE NAISSANCE POUVAIT LE MONTRER. Mes deploiements de
convergence rendaient failed=0 parce que les cles etaient DEJA sur disque
et que la tache etait sautee. Le defaut existait depuis le premier commit
du remap, invisible a tout deploiement sur une flotte existante. C est l
argument de la reconstruction depuis zero, applique a moi-meme.

Troisieme reconstruction : 32 minutes, un seul echec - celui-ci. Clonage
3 min 52, zero fatal dans le journal, 963 Mo servis par le cache contre
183 tires de l Internet, soit 81 pourcent servis localement.

Et la derive s est effacee toute seule : apt-cacher-ng tournait encore sur
forge-01 que plus aucun plan ne declarait. Je proposais de l arreter a la
main ; la reconstruction l a fait. Ce qui n est pas au plan n existe pas
apres une naissance.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-10 15:41:56 -04:00
..
defaults les depots tiers passent par le cache, et le tenant n a plus le sien 2026-09-10 14:53:48 -04:00
handlers collabora : en natif, la derniere exception conteneurisee tombe 2026-08-24 16:23:35 -04:00
meta empreintes muettes, courses de premier demarrage, collision de noms 2026-08-07 16:22:38 -04:00
tasks les cles de signature passent aussi par le cache 2026-09-10 15:41:56 -04:00
templates collabora : en natif, la derniere exception conteneurisee tombe 2026-08-24 16:23:35 -04:00
README.md collabora : en natif, la derniere exception conteneurisee tombe 2026-08-24 16:23:35 -04:00

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.