Zum Inhalt

Collabora Online

GitHub · collabora/code:25.04.9.3.1

Collabora CODE (Community Edition) ermoeglicht Dokumentenbearbeitung direkt im Browser — Writer, Calc und Impress. Laeuft als dedizierter Container und wird von Nextcloud ueber das WOPI-Protokoll eingebunden. TLS-Terminierung erfolgt durch Traefik, Collabora selbst laeuft ohne SSL.

Zugang

URL (Nextcloud-Integration) https://office.novabrands.org
Admin-Interface https://office.novabrands.org/browser/dist/admin/admin.html
Admin-Login aus .env: COLLABORA_ADMIN_USER / COLLABORA_ADMIN_PASSWORD
Healthcheck https://office.novabrands.org/hosting/discovery (HTTP 200, XML)

Container-Konfiguration

Container Image Netzwerke Memory Limit
collabora collabora/code:25.04.9.3.1 proxy 1536 MB / 1024 MB Reservation

Collabora hat kein eigenes Backend-Netzwerk — es kommuniziert ausschliesslich ueber HTTP/WebSocket mit Nextcloud via das proxy-Netzwerk.

Wichtige Umgebungsvariablen

Variable Wert
aliasgroup1 https://cloud.novabrands.org:443
extra_params --o:ssl.enable=false --o:ssl.termination=true
dictionaries de_DE en_US
username Admin-Benutzername (aus .env)
password Admin-Passwort (aus .env)

ssl.enable=false + ssl.termination=true: TLS wird von Traefik terminiert, Collabora selbst kommuniziert unverschluesselt. aliasgroup1 beschraenkt den Zugriff auf Nextcloud — kein anderer WOPI-Host darf Collabora nutzen.

Besondere Capabilities

cap_add:
  - MKNOD      # Fuer Collabora-interne Sandbox
  - SYS_CHROOT # Fuer Sandbox-Child-Prozesse

no-new-privileges ist bei Collabora nicht kompatibel (benoetigt setuid fuer sandboxed Child-Prozesse).

Netzwerk

Collabora haengt nur im proxy-Netzwerk. Kein Datenbankzugriff, kein Backend-Netz.

Traefik-Labels:

  • Entrypoint: websecure (443, TLS via Let's Encrypt)
  • Interner Port: 9980
  • Middlewares: collabora-headers (HSTS, X-Forwarded-Proto)
  • Kein Rate-Limiting — WebSocket-Traffic fuer die Dokumentenbearbeitung vertraegt kein striktes Rate-Limiting

Integration mit Nextcloud

Einrichtung

# 1. Nextcloud Office App installieren
docker exec -u www-data nextcloud php occ app:install richdocuments

# 2. In Nextcloud konfigurieren:
#    Einstellungen -> Verwaltung -> Nextcloud Office
#    -> "Verwende deinen eigenen Server"
#    -> URL: https://office.novabrands.org
#    -> Verbindung testen

Nutzung ueber OpenProject

Dateien die ueber die OpenProject-Nextcloud-Integration verknuepft sind, koennen direkt in Collabora geoeffnet werden. Der Klick in OpenProject oeffnet die Datei in Nextcloud, wo Collabora die Bearbeitung uebernimmt.

Wartung und Betrieb

Updates

Collabora ist auf eine exakte Version gepinnt. Vor Updates die Release-Notes pruefen — neue VERSION erfordert oft eine neue aliasgroup-Syntax oder geaenderte Umgebungsvariablen.

# Image-Tag in docker-compose.yml aktualisieren, dann:
docker compose pull collabora
docker compose up -d collabora

Verbindung pruefen

# WOPI Discovery (muss XML zurueckgeben)
curl -sf https://office.novabrands.org/hosting/discovery | head -5

Troubleshooting

"WOPI host not allowed": Die Domain in aliasgroup1 muss exakt mit der Nextcloud-URL uebereinstimmen (inkl. Port :443):

aliasgroup1: "https://cloud.novabrands.org:443"

WebSocket-Fehler: Traefik v3 leitet WebSocket-Traffic standardmaessig durch — kein separates Middleware noetig. Pruefen ob CODER_HOSTNAME korrekt gesetzt ist und Traefik erreichbar ist.

Hoher Speicherverbrauch: Collabora startet die LibreOffice-Engine fuer jedes geoeffnete Dokument. Bei 1-5 Nutzern ist das Limit von 1536 MB grosszuegig bemessen.