# 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:=`. 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.` | nom externe — vide, coolwsd le déduit mal derrière un mandataire | | `serveur_collabora_domaine_nextcloud` | `cloud.` | 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.