Set-OPS-Public/roles/serveur_collabora/README.md
Daniel Allaire da4976aa98 serveur_collabora : rôle codifié depuis le spike (Docker, WOPI)
Conteneur collabora/code (restart always), publié sur localhost + IP LAN
(gotcha : bind localhost seul → 502 depuis l'edge), aliasgroup = domaine
Nextcloud, ssl.termination à l'edge, attente santé /hosting/capabilities.
meta/flux.yml (ingress 9980 depuis edge) alimente le registre des flux.

Docker (prouvé au spike) ; CODE natif = option future à spiker. Tag à épingler.
ansible-lint profil production : 0 échec.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 15:03:07 -04:00

1.5 KiB

serveur_collabora

Serveur d'édition de documents Collabora Online (CODE), protocole WOPI, consommé par Nextcloud (richdocuments). Codifié depuis le spike du 2026-07-05 (Docker, prouvé).

Ce que le rôle fait

  • Installe Docker + lance le conteneur collabora/code (restart: always) ;
  • publie sur 127.0.0.1:9980 (Nextcloud co-localisé) ET l'IP LAN :9980 (l'edge) — gotcha spike : bind localhost seul ⇒ 502 depuis l'edge ;
  • aliasgroup1 = le domaine Nextcloud (cloud.<domaine>) — Collabora n'accepte le WOPI que de cet hôte ;
  • ssl.enable=false + ssl.termination=true (TLS terminé à l'edge) ;
  • attend la santé (/hosting/capabilities = 200).

Dépendances / exposition (à fournir)

  • Vhost edge WebSocket-aware : bureau.<domaine> → ce nœud:9980 avec map $http_upgrade
    • en-têtes Upgrade/Connection + proxy_read_timeout long. Le vhost générique ne suffit pas (l'édition live échoue sans WebSocket) ;
  • FQDN bureau.<domaine> dans les SAN du cert edge ;
  • port 9980 à firewaller (voir meta/flux.yml : ingress depuis l'edge seulement).

Docker vs natif

Le spike a prouvé Docker → on codifie Docker. Le CODE natif (paquets Collabora, loolwsd) serait plus « Set-OPS » (natif, pas de moteur Docker) mais exigerait son propre spike. Décision à trancher.

Robustesse

  • Épingler serveur_collabora_tag en prod (pas de :latest surprise) ;
  • surveillance Icinga sur /hosting/capabilities.