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:



Mit dem Upgrade auf Collabora 26 scheint sich irgendwas bzgl. websockt geändert zu haben, es gibt Anpassungen für nginx etc aber für traefik finde ich nichts. Hat jemand eine Lösung parat?
Hey zusammen und danke für die Anleitung!
Falls jemand Collabora zusammen mit Traefik+Crowdsec (Stand: 15. März 2026) aufsetzt und das Problem hat, dass Collabora einfach nicht laufen mag, kann ich euch hoffentlich hiermit ein wenig Zeit und Nerven sparen 😉
Wenn Nextcloud zusammen mit Collabora konfiguriert ist, bindet Nextcloud die Oberfläche von Collabora als iframe ein. Hierfür wird von Collabora der folgende Header verwendet:
In der Traefik middleware aus der anderen Anleitung wird dieser Header allerdings in der middleware http.middlewares.default-security-headers.yml überschrieben. Wenn sonst nichts auf dem Server läuft, könnt ihr hier entsprechend die Nextcloud Domain ergänzen. Oder ihr müsst den Teil aus der middleware rausnehmen und dann den anderen Services (außer Collabora) manuell hinzufügen.
Unter der WOPI allowlist könnt ihr das Netzwerk von Crowdsec angeben.
Viel Erfolg!
Hallo,
Collabora Office habe ich fast erfolgreich mit Traefik V3 in Nextcloud und auch in Seafile eingebunden.
aber leider nur fast erfolgreich.
Wenn ich ein Dokument öffnen möchte, wird immer die verbindung abgelehnt owohl bei Nextcloud im admin menü alles richtig angzeigt wird.
leider finde ich den Logs keine fehlermeldung die helfen könnte, hat jemand eine idee woran das liegen könnte?
Leider habe ich das selbe problem auch mit Only Office
Hallo,
nach erfolgreicher Installation von Nextcloud Server – mit Docker Compose und Traefik installieren sowie Traefik V3 Installation, Konfiguration und CrowdSec-Security möchte ich nun gerne wieder Collabora in die Nextcloud einbinden.
Nach Befolgen dieser Installationsanleitung scheitert leider schon der erste Funktionstest: die Site https://collabora.MEINEDOMAIN.de kann nicht geöffnet werden. Kein “OK” !
Einzig das traefik.log gibt vielleicht einen Hinweis:
{“level”:”info”,”providerName”:”http_resolver.acme”,”acmeCA”:”https://acme-v02.api.letsencrypt.org/directory”,”time”:”2025-07-07T20:57:18+02:00″,”message”:”Testing certificate renew…”}
{“level”:”error”,”providerName”:”http_resolver.acme”,”acmeCA”:”https://acme-v02.api.letsencrypt.org/directory”,”providerName”:”http_resolver.acme”,”ACME CA”:”https://acme-v02.api.letsencrypt.org/directory”,”routerName”:”collabora@docker”,”r
ule”:”(Host(
collabora.MEINEDOMAIN.de))”,”error”:”unable to generate a certificate for the domains [collabora.MEINEDOMAIN.de]: error: one or more domains had a problem:\n[collabora.MEINEDOMAIN.de] invalid authorization: acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: 2a01:238:20a:202:1079::: Invalid response from http://collabora.MEINEDOMAIN.de/.well-known/acme-challenge/3vWE6HpylcuDBuLzQVBLstGMJmGCpDVmKIOXduqigq4: 404\n”,”domains”:[“collabora.MEINEDOMAIN.de”],”time”:”2025-0
7-07T20:57:27+02:00″,”message”:”Unable to obtain ACME certificate for domains”}
Die Subdomain ist beim Provider angemeldet.
Muss diesbzgl. bei Traefik oder CrowdSec was angepasst werden?
Vielen Dank schonmal!
—
Problem ist inzwischen gelöst. Die Subdomain war noch als Platzhalter angemeldet, noch nicht mit der richtigen IP assoziiert.
IP eingetragen, schon geht’s.
Leider bekomme ich es mit dieser Anleitung nicht zum Laufen.
Die Zugriffe auf Collabora, das SSL Zertifikat und die Einstellungen in der NC sind alle positiv. Es scheint so als würde ein Kontakt stattfinden.
Ich bekomme in der Console den Hinweis
Das scheint ein bekanntes Problem in der Version 24.04.12.3.1 von Collabora zu sein, aber auch mit älteren Versionen erhalte ich den selben Fehler.
Irgendjemand ähnliche Erfahrungen gesammelt?
Die Anleitung funktioniert ausgezeichnet. Beim Einsatz ist mir jedoch aufgefallen, dass ja eventuell die benötigten Schriftarten gar nicht vorhanden sind. Daher habe ich nach einer Lösung gesucht und gefunden. Diese sieht so aus:
Die gewünschten Schriftarten dürfen vom Typ OpenType (.otf) oder TrueType (.ttf) sein. Dafür werden zwei verschiedene Ordner benötigt. Sie werden mit dem folgenden Befehl erstellt (evtl. Pfad anpassen):
mkdir /opt/containers/collabora/fonts/{truetype,opentype}
docker-compose.yml anpassen:
services:
...
collabora:
...
volumes:
- ./collabora-fonts/opentype:/usr/share/fonts/opentype/custom
- ./collabora-fonts/opentype:/opt/cool/systemplate/usr/share/fonts/opentype/custom
- ./collabora-fonts/truetype:/usr/share/fonts/truetype/custom
- ./collabora-fonts/truetype:/opt/cool/systemplate/usr/share/fonts/truetype/custom
...
Nach dieser Anpassung muss der Container einmalig mit dem Parameter –force-recreate neu gestartet werden:
docker compose down && docker compose up -d --force-recreate
Beispiel für eine Installation einer Schriftfamilie:
Schrift Roboto von Google https://fonts.google.com/specimen/Roboto
Einfach herunterladen und entpacken. Die ZIP-Datei enthält mehrere Font-Dateien:
Roboto
├── LICENSE.txt
├── Roboto-BlackItalic.ttf
├── Roboto-Black.ttf
├── Roboto-BoldItalic.ttf
├── Roboto-Bold.ttf
├── Roboto-Italic.ttf
├── Roboto-LightItalic.ttf
├── Roboto-Light.ttf
├── Roboto-MediumItalic.ttf
├── Roboto-Medium.ttf
├── Roboto-Regular.ttf
├── Roboto-ThinItalic.ttf
└── Roboto-Thin.ttf
Jede Schriftfamilie muss in einem eigenen Ordner liegen, auch wenn nur eine Schrift-Datei vorhanden sein sollte. Da es sich um eine TrueType-Schrift handelt (erkennt man an der Endung .ttf), muss ein Ordner “Roboto” in TrueType erstellt werden:
mkdir /opt/containers/collabora/fonts/truetype/Roboto
Jetzt einfach alle entpackten Dateien hineinkopieren.
Um die Schriften einzulesen muss der Container neu gestartet werden:
docker compose down && docker compose up -d
Ab sofort steht die Schriftart im Schriftauswahl-Dropdown zur Verfügung und kann genutzt werden.
Hallo,
erst einmal vielen Dank für die exzellenten Anleitungen, die mir sehr weitergeholfen haben. Ich habe es geschafft, Nextcloud und Collabora Office hinter einem Traefik-Proxy zu installieren, so dass alles funktioniert und ich Dokumente online editieren kann. Eine Sache bereitet mir aber Kopfzerbrechen:
In der Nextcloud-Administration werde ich aufgefordert, die WOPI-Erlaubnisliste zu befüllen: “Du hast die Erlaubnisliste für WOPI-Anforderungen nicht konfiguriert.”
Tue ich dies, scheint einzig die externe IP meines Servers (eine dynamische IP) ein Wert zu sein, bei dem sich das CODE auch tatsächlich starten lässt. Trage ich die IP-Adresse des Docker-Proxy-Netzwerks ein (172.30.0.0/16), erhalte ich die Fehlermeldung “Laden des Dokuments fehlgeschlagen. WOPI::CheckFileInfo failed”. Was mache ich falsch bzw. was muss in die WOPI-Erlaubnisliste eingetragen werden? Kann hier jemand helfen?
Zur Info: Nextcloud und Collabora wurden mit zwei verschiedenen Docker-Compose-Files gestartet (wie in der Anleitung) und laufen auf demselben Docker-Host. Sie sind über das Proxy-Netzwerk von Traefik miteinander verbunden.
Vielen Dank und viele Grüße
Volker
Hi zusammen,
irgendwie bekomme ich Collabora und Seafile nicht ans laufen.
Ich meine ich habe mich strickt an die Anleitung hier und Seafile gehalten.
Sobald ich in Seafile ein Office Dokument erstelle und das editieren will, bekomme ich diese Fehlermeldung (siehe Screenshot) angezeigt.
Den unter
OFFICE_WEB_APP_BASE_URL = ‘https://collabora.euredomain.de/hosting/discovery’
gepassten Link kann ich aufrufen, es sieht aus wie ein zurückgegebenes XML file. Ist das so korrekt?
Hallo bei mir funktioniert diese Anleitung leider nicht
Ich bekomme die Verbindung zwischen Nextcloud und Collabora nicht hin.
Das Collabora Admin Panel erreiche ich und es der Server meldet OK.
Collabora und Nextcloud laufen auf demselben Docker-Host
bei mir wird angezeigt …. Der Server wurde heruntergefahren, bitte laden Sie die Seite neu. habt ihr einen rat