Collabora Office Online eignet sich perfekt für die Integration in Nextcloud. Wie ihr Nextcloud in wenigen Minuten installiert, zeige ich euch hier. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
| Datum | Änderungen |
|---|---|
| 05.09.2020 | Erstellung dieser Anleitung |
| 30.12.2020 | Kleinigkeiten verbessert |
| 05.01.2022 | Bilder + Link zum Admin Interface angepasst. Danke @Uwe |
| 03.04.2022 | Nextcloud App + Bild angepasst |
| 30.05.2022 | Nextcloud App wurde umbenannt. |
| 26.07.2022 | Nextcloud App wurde erneut umbenannt |
| 13.01.2023 | Update Traefik Labels, Seafile Integration hinzugefügt (Danke an @eltonit) |
| 29.05.2023 | Anpassung für neue Traefik Anleitung |
| 14.12.2023 | Docker Compose angepasst für mehrere Domains (aliasgroup). Danke @rebel2k |
| 27.09.2025 | Docker Compose an aktuelle Version angepasst |
| 30.09.2025 | Formatierungsfehler in der Docke Compose behoben |
| 01.04.2026 | Kapitel 3 hinzugefügt. Danke an @sirath |
| 13.07.2026 | Health Check in der Docker Compose entfernt, da dieser mit Curl gemacht wird, das aktuelle Image aber kein curl mehr enthält und dieser daher immer fehlschlägt |
| 02.09.2026 | Entry Point entfernt, da das aktuelle Image kein BASH mehr hat |
Als Grundlage meiner Anleitung dient die offizielle Collabora Office Anleitung für Docker.
0. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik ab v3.6 mit CrowdSec installieren und konfigurieren
1. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/collabora/
2. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an.
nano /opt/containers/collabora/docker-compose.yml
Inhalt
services:
collabora:
image: collabora/code:latest
networks:
proxy:
environment:
aliasgroup1: "https://nextcloud.euredomain.de:443"
server_name: "collabora.euredomain.de"
DONT_GEN_SSL_CERT: "YES"
extra_params: "--o:ssl.enable=false --o:ssl.termination=true"
username: admin
password: admin
cap_add:
- MKNOD
logging:
driver: ${LOG_DRIVER:-local}
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.collabora.rule=Host(`collabora.euredomain.de`)"
- "traefik.http.routers.collabora.entrypoints=websecure"
- "traefik.http.routers.collabora.tls.certresolver=http_resolver"
- "traefik.http.routers.collabora.middlewares=default@file"
- "traefik.http.services.collabora.loadbalancer.server.port=9980"
networks:
proxy:
external: trueCode-Sprache: JavaScript (javascript)
Notwendige Anpassungen:
- Collabora Office Nutzername ändern
- Collabora Office Passwort ändern
- eure Domain bei Traefik anpassen (“collabora.euredomain.de”)
- server_name entsprechend Traefik anpassen
Anschließend fügt ihr noch die Domains hinzu, für welche ihr Collabora bereitstellen wollt:
aliasgroup1: "https://nextcloud.euredomain.de:443"
zb:
aliasgroup1: "https://nextcloud.euredomain.de:443"
aliasgroup2: "https://cloud.euredomain.de:443"Code-Sprache: JavaScript (javascript)
3. Traefik Anpassungen
Damit unsere Cloud später Collabora einbinden kann, müssen wir noch eine Anpassung bei Traefik durchführen. Öffnet dazu folgende Datei:
nano /opt/containers/traefik-crowdsec-stack/data/traefik/dynamic_conf/http.middlewares.default-security-headers.ymlCode-Sprache: PHP (php)
Fügt nun entsprechend die Domain eurer Cloud hinzu:
vorher:
http:
middlewares:
...
Content-Security-Policy: "frame-ancestors 'self';"
nachher:
http:
middlewares:
...
Content-Security-Policy: "frame-ancestors 'self' https://nextcloud.euredomain.de;"Code-Sprache: JavaScript (javascript)
Anschließend starten wir Traefik neu:
cd /opt/containers/traefik-crowdsec-stack
docker compose up -d --force-recreate
4. Collabora Office starten
Den Server startet ihr wie gewohnt mit folgendem Befehl:
docker compose -f /opt/containers/collabora/docker-compose.yml up -d
5. Dienst testen
Nun testen wir, ob der Dienst ordnungsgemäß funktioniert. Dazu gebt ihr folgendes in euren Browser ein:
https://collabora.euredomain.de
Nun solltet ihr folgendes sehen:

6. Admin Interface starten
Wenn der Dienst funktioniert, dann könnt ihr euch mit euren Nutzerdaten im Admin Interface anmelden. Die Nutzerdaten habt ihr in dem Docker File festgelegt.
Um das Interface zu starten gebt ihr folgendes ein:
https://collabora.euredomain.de/browser/dist/admin/admin.html
Nun solltet ihr folgendes sehen:

Im Kapitel 7 erfährt ihr nun, wie ihr Collabora in Nextcloud integriert. Kapitel 8 beschreibt die Integration von Collabora in Seafile.
7. Collabora Office in Nextcloud integrieren
Nun zeige ich euch, wie ihr mit wenigen Klicks Collabora Office in Nextcloud integrieren könnt. Wenn ihr noch kein Nextcloud Server habt, so könnt ihr in hier innerhalb weniger Minuten erstellen.
Ihr geht nun auf euren Nextcloud Server und logt euch dort mit eurem Admin Account ein.
Nun klickt ihr auf “Apps”.

Wählt nun “Büro & Text” aus.

Wählt nun “Collabora Online” oder “Nextcloud Office” aus. Es handelt sich um das selbe Programm. Irgendwie wechselt sich regelmäßig der Name.


Anschließend geht ihr in die “Einstellungen”.

Hier scrollt ihr auf der linken Seite so weit nach unten, bis ihr “Nextcloud Office” findet.

Nun gebt ihr dort einfach euren Collabora Online Server an. Gebt dort einfach: https://collabora.euredomain.de ein

Nun klickt ihr auf “Save” und es sollte ein grüner Haken erscheinen.
Wenn ihr nun ein Dokument in Nextcloud erstellt, wird sich Collabora Online starten.

8. Collabora in Seafile integrieren
Dazu solltet ihr Seafile nach dieser Anleitung bereits installiert haben. Anschließend öffnet ihr folgende Datei:
nano /opt/containers/seafile/seafile-data/seafile/conf/seahub_settings.py
Hier fügt ihr am Ende folgendes hinzu:
# Collabora Integration
OFFICE_SERVER_TYPE = 'CollaboraOffice'
ENABLE_OFFICE_WEB_APP = True
OFFICE_WEB_APP_BASE_URL = 'https://collabora.euredomain.de/hosting/discovery'
WOPI_ACCESS_TOKEN_EXPIRATION = 30 * 60 # seconds
OFFICE_WEB_APP_FILE_EXTENSION = ('odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx','ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx')
ENABLE_OFFICE_WEB_APP_EDIT = True
OFFICE_WEB_APP_EDIT_FILE_EXTENSION = ('odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx','ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx')Code-Sprache: PHP (php)
Noch anzupassen:
- OFFICE_WEB_APP_BASE_URL = die Domain eures Collabora Servers
Nun müsst ihr Seafile neu starten.
docker compose -f /opt/containers/seafile/docker-compose.yml down
docker compose -f /opt/containers/seafile/docker-compose.yml up -d
Anschließend könnt ihr eine neue Datei erstellen und in diese ganz bequem schreiben:



Hallo,
vielen Dank für die guten Anleitungen.
Ich habe allerdings das Problem, dass ich von der Nextcloud, die auf dem gleichen Host läuft wie Collabora nicht auf Collabora zugreifen kann. Es erscheint erst ein Fenster, dass auf Collabora nicht zugegriffen werden kann, dann kommt das Collabora Lade-Symbol, das aber bei 0% stehen bleibt und nicht weiter lädt.
Allerdings kann ich auf die Collabora Instanz von einem externen Host zugreifen und es funktioniert ohne Probleme. Also läuft Collabora eigentlich, nur die Verbindung zur lokalen Nextcloud funktioniert nicht.
Gibt es hier Ideen?
Vielen dank!
Hello Christian,
Very nice howto, thanks a lot.
My setup is nearly the same as what you describe, and I am facing a strange issue with Collabora.
My Collabora server is running within a Docker container, behind Traefik.
I have different Nextloud instances : some are running behind the same Traefik router, some are on other servers not running on Docker, but as Ubuntu packages.
The problem occurs with Docker Nextcloud instances : they can perfectly use Collabora, but after a few minutes of inactivity, the Collabora app within Nextcloud says that the Collabora server is not available anymore. Simply clicking on “Save” to reset the config makes it works again.
As a workaround, I’ve finally set up a crontab job that does a :
docker exec … php occ richdocuments:activate-config
It works, but this is not optimal !
Have you ever faced this issue ?
Thanks !
wie kann ich dem Collabora Container mitgeben, dass er Traefik vertrauen kann?
[ websrv_poll ] WRN convert-to: Requesting address is denied: ::ffff:172.18.0.2| wsd/LOOLWSD.cpp:2318
Danke für deine Anleitung.
Es hat alles geklappt. Super!!!
Ich musste nur noch die .htaccess anpassen. Es wurde als Hinweis in der Übersicht angezeigt.
Zur Info:
Der “Strict-Transport-Security” HTTP-Header ist nicht auf mindestens “15552000” Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den Sicherheitshinweisen erläutert ist:
Um einen HSTS-Header zu setzen, fügen Sie in eine .htaccess-Datei die Zeile
Header set Strict-Transport-Security “max-age=15552000”
ein. Den Wert für max-age setzen Sie auf den von NextCloud empfohlenen Wert. Beachten Sie hierbei jedoch auch mögliche Nachteile, was eine derartige Änderung (Setzen von HSTS-Headern) bewirkt.
Ich bekam zuerst keine Verbindung von Nextcloud zu Collabora
Im Ergebnis darf der URL kein abschließendes “/” enthalten.
https://collabora.xxxxx.de ist also korrekt
Mit copy-pasta docker-compose.yml startet der collabora container zwar prima, aber es scheint als würde er (so zeigt es Portainer an) die IP adresse verlieren.
Er tauch nach dem start kurz im Traefik dashboard auf, verschwindet dann wieder.
Im traefik.log steht dann
“service \”collabora\” error: unable to find the IP address for the container \”/collabora_app\”: the server is ignored” providerName=docker container=collabora-collabora-eb0de5d4d607e821dcff9173e38c20882ca18a559a394957b661f2785833111e
Super Anleitung, danke dir.
Danke für die super Anleitungen, die du hier überall anbietest.
Ich habe jedoch nach der Einrichtung immer eine blöde Fehlermeldung:
Unautorisierter WOPI-Host. Bitte versuchen Sie es später noch einmal oder wenden Sie sich an Ihren Administrator. Ich habe bereits alles versucht und in verschiedenen Foren nachgelesen. Ich komme aber nicht auf die Lösung. Hat jemand eine Idee?
UFW kann eingeschaltet bleiben, falls man https erlaubt.
Ich hatte es so verstanden, das docker VOR den iptables-Regeln die Netzwerkpakete bekommt und deshalb NICHT von der Firewall des Hosts beeinflusst wird.
Nun, bei mir ist auf dem Host nur SSH und https erlaubt und dann arbeiten Nextcloud und Collabora auch bei eingeschalteter UFW zusammen.
Hallo,
ich hab einen Verbindungsfehler, der Log sagt:
[ websrv_poll ] WRN client – server version mismatch, disabling browser cache. Expected: ed4f732| wsd/FileServer.cpp:287
Was kann ich tun?
Danke!