Collabora Online für Nextcloud einrichten: CODE per Docker Schritt für Schritt
Mit Collabora Online bearbeitest Du Texte, Tabellen und Präsentationen direkt in Nextcloud. Du brauchst dafür die App Nextcloud Office (Collabora) und einen Dokumentenserver. Hier richtest Du die kostenlose Collabora Online Development Edition (CODE) per Docker hinter Apache ein. Falls bereits „Nextcloud Office konnte nicht geladen werden“ erscheint, findest Du weiter unten die passenden Prüfungen.
CODE baut auf LibreOffice-Technik auf. Mehrere Benutzer können gleichzeitig an einem Dokument arbeiten. Wer zunächst eine Collabora-Online-Demo ausprobieren möchte, bekommt den Zugang beim Hersteller nach Registrierung und Bestätigung der E-Mail-Adresse.
CODE: eingebauter Server oder eigener Docker-Container?
Die Entwicklungsausgabe CODE eignet sich für Tests, den Heimgebrauch und kleine Teams. Für geschäftskritische Installationen empfiehlt Collabora die unterstützte Enterprise-Ausgabe. Docker allein macht CODE weder schneller noch zu einer Enterprise-Lösung. Bei vielen gleichzeitigen Nutzern lohnt sich ein eigener Dokumentenserver; Hilfe bei der Auswahl gibt der Artikel über Nextcloud-Hosting.
Einfacher geht es mit der zusätzlichen App Collabora Online: Built-in CODE Server: Sie bringt den Server direkt mit, ist laut Nextcloud aber langsamer und weniger gut skalierbar. Für Linux auf x86-64 heißt sie richdocumentscode, für ARM64 richdocumentscode_arm64. Für den Docker-Weg unten brauchst Du diese Zusatz-App nicht.
Auch ein Raspberry Pi kommt infrage: Collabora bietet ARM64-Images und eine Raspberry-Pi-Anleitung an. Entscheidend sind ein passendes 64-Bit-System und genügend Ressourcen für Deine Dokumente und Nutzer.
Vorbereitung: Ubuntu, Docker und zwei Domains
Die Schritte setzen Ubuntu 24.04 LTS, Administratorrechte und eine bereits funktionierende Nextcloud mit gültigem HTTPS-Zertifikat voraus. Apache läuft direkt auf demselben Host wie der CODE-Container. Nutze eine aktuelle, unterstützte Nextcloud-Version; die passende Office-App steht im App Store. Ersetze überall diese Beispieldomains:
nextcloud.example.org: Deine vorhandene Nextcloud.office.example.org: der Dokumentenserver. Diese Domain muss im DNS auf Deinen Apache-Host zeigen; die Ports 80 und 443 müssen erreichbar sein.
Für eine neue Docker-Installation verwenden wir die Ubuntu-Pakete. Ist Docker bereits eingerichtet, behältst Du diese Installation. Alternativ gibt es das offizielle Docker-Repository; dessen Pakete solltest Du nicht mit docker.io mischen.
sudo apt update
sudo apt install docker.io apache2 certbot python3-certbot-apache curl
sudo systemctl enable --now docker
sudo a2enmod proxy proxy_wstunnel proxy_http sslApache vorbereiten und HTTPS aktivieren
Lege für die neue Office-Domain /etc/apache2/sites-available/office.conf mit folgendem Inhalt an:
<VirtualHost *:80>
ServerName office.example.org
</VirtualHost>Aktiviere die Seite. Lade Apache nur nach erfolgreicher Konfigurationsprüfung neu und fordere anschließend das Zertifikat an:
sudo a2ensite office.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
sudo certbot --apache --redirect -d office.example.orgCertbot richtet das Zertifikat und die HTTPS-Umleitung ein. Mit sudo apache2ctl -S findest Du den zugehörigen VirtualHost für Port 443 und seine Datei. Die Proxy-Regeln aus dem nächsten Abschnitt gehören in genau diesen HTTPS-VirtualHost.
Collabora Online per Docker starten
Lade zunächst das Image:
sudo docker pull collabora/code
In aliasgroup1 gehört die Nextcloud-Adresse. Die Office-Adresse trägst Du später in Nextcloud ein. Diese Verwechslung führte schon bei der ursprünglichen Einrichtung 2018 zur Fehlersuche. Vergib außerdem eigene Zugangsdaten für die Admin-Konsole:
sudo docker run -t -d --name collabora \
-p 127.0.0.1:9980:9980 \
-e 'aliasgroup1=https://nextcloud.example.org:443' \
-e 'username=DEIN-ADMINNAME' \
-e 'password=DEIN-LANGES-PASSWORT' \
--restart unless-stopped --cap-add MKNOD \
collabora/codeDie Backslashes am Zeilenende setzen den Befehl fort. Die Nextcloud-Adresse wird hier als vollständige URL ohne Regex-Escapes eingetragen. Port 9980 ist nur am lokalen Host erreichbar. Der Container verwendet in diesem Beispiel auch intern TLS; die folgenden Proxy-Ziele passen dazu.
Apache-Reverse-Proxy für Collabora konfigurieren
Füge diese Regeln innerhalb des HTTPS-VirtualHosts für office.example.org ein. Die von Certbot angelegten Zertifikatszeilen bleiben erhalten. Die Reihenfolge der WebSocket-Regeln vor der allgemeinen /cool-Regel ist wichtig:
AllowEncodedSlashes NoDecode
ProxyPreserveHost On
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
ProxyPass /browser https://127.0.0.1:9980/browser retry=0
ProxyPassReverse /browser https://127.0.0.1:9980/browser
ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery
ProxyPass /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities
ProxyPassMatch "/cool/(.*)/ws$" wss://127.0.0.1:9980/cool/$1/ws nocanon
ProxyPass /cool/ws wss://127.0.0.1:9980/cool/ws nocanon
ProxyPass /cool/adminws wss://127.0.0.1:9980/cool/adminws
ProxyPass /cool https://127.0.0.1:9980/cool
ProxyPassReverse /cool https://127.0.0.1:9980/coolDie abgeschaltete Prüfung betrifft das selbst signierte Zertifikat des Containers hinter 127.0.0.1. Die öffentlichen Zertifikate für Nextcloud und Office müssen gültig sein. Prüfe erneut die Konfiguration und lade Apache bei Syntax OK neu:
sudo apache2ctl configtest
sudo systemctl reload apache2Die aktuellen Pfade heißen /browser und /cool. Hast Du Collabora früher mit den alten Pfaden eingerichtet, ersetze die früheren /loleaflet– und /lool-Regeln. Andere Proxy-Aufbauten beschreibt das Nextcloud-Admin-Handbuch.
Nextcloud Office mit dem Server verbinden
- Installiere und aktiviere unter Apps → Office & Text die App Nextcloud Office (Collabora), intern
richdocuments. - Öffne die Verwaltungseinstellungen → Nextcloud Office beziehungsweise Office. Wähle Verwende deinen eigenen Server.
- Trage
https://office.example.orgein und speichere. Bei dieser Proxy-Konfiguration gehört Port 9980 nicht in die öffentliche Adresse. - Beschränke die Allow list for WOPI requests auf die IP-Adressen, von denen Dein Collabora-Server Nextcloud tatsächlich erreicht. Bei Docker oder einem vorgeschalteten Proxy kann das eine andere Adresse als die öffentliche Server-IP sein.
- Lege in der Dateien-App über das Plus-Menü ein Dokument an und prüfe Öffnen, Bearbeiten und erneutes Öffnen nach dem Speichern.
Du kannst die Nutzung und das Bearbeiten auf bestimmte Gruppen beschränken. Neue Dateien verwenden standardmäßig OpenDocument: ODT, ODS und ODP. Mit der OOXML-Option entstehen stattdessen DOCX, XLSX und PPTX.

Nextcloud Office konnte nicht geladen werden
Prüfe bei dieser Meldung zuerst den Verbindungsweg. Eine erreichbare Startseite beweist noch nicht, dass Dokumente geladen werden können:
- Nextcloud zu CODE: Rufe die beiden Endpunkte unten vom Nextcloud-Server und im Browser auf. Discovery muss XML liefern, Capabilities JSON. Eine Anmeldeseite oder ein Proxy-Fehler ist keine gültige Antwort.
- CODE zu Nextcloud: Der Dokumentenserver muss
https://nextcloud.example.org/status.phperreichen können. Prüfe DNS, Firewall und Zertifikatskette auch für das Container-Netz. - „Unauthorized WOPI host“: Kontrolliere
aliasgroup1. Dort muss die Nextcloud mit passendem Protokoll und Port erlaubt sein. Änderungen an Docker-Umgebungsvariablen erfordern einen neu erstellten Container. - Abgewiesene WOPI-Anfragen: Kontrolliere in Nextcloud die WOPI-Allowlist und die tatsächlich erkannte Absender-IP im Log. Diese Liste regelt den Zugriff von CODE auf Nextcloud;
aliasgroup1regelt die Gegenrichtung. - Grauer Editor oder Verbindungsabbruch: Prüfe die WebSocket-Weiterleitung für
/cool/wsund/cool/(.*)/ws, die Proxy-Pfade und die Logs beider Anwendungen.
curl -fsS https://office.example.org/hosting/discovery
curl -fsS https://office.example.org/hosting/capabilities
sudo docker logs --tail 100 collaboraBei einer klassischen Nextcloud-Installation unter /var/www/nextcloud liefern diese Befehle den Serverstatus und die eingetragene Office-Adresse. Passe Pfad und PHP-Version an Deine Installation an:
sudo -u www-data php /var/www/nextcloud/occ status
sudo -u www-data php /var/www/nextcloud/occ config:app:get richdocuments wopi_urlPrüfe zusätzlich nextcloud.log im konfigurierten Datenverzeichnis und das Apache-Fehlerlog. Im damaligen Aufbau halfen zeitweise komplette Server-Neustarts. Die Ursache wurde dabei nicht eingegrenzt; ein Neustart ersetzt deshalb keine dieser Prüfungen. Den Befehl occ files:cleanup solltest Du nicht als allgemeinen Office-Cache-Fix verwenden.
CODE aktualisieren oder mit Docker Compose verwalten
Lass vor einem Update alle Bearbeitungen speichern und schließen. Sichere Deine Startparameter und notiere das bisherige Image für einen Rückweg. Danach holst Du das neue Image und entfernst den alten Container:
sudo docker pull collabora/code
sudo docker ps
sudo docker stop collabora
sudo docker rm collabora
Starte anschließend mit dem vollständigen docker run-Befehl von oben und Deinen bisherigen Einstellungen neu. docker rm entfernt den Container, nicht das Image. Prüfe danach erneut ein Dokument.
Alternativ hält Docker Compose Image, Ports, Umgebungsvariablen und cap_add mit dem Listeneintrag MKNOD in einer compose.yaml fest. Bei Ubuntu-Paketen installierst Du dafür docker-compose-v2. Aus dem Verzeichnis dieser Datei starten sudo docker compose up -d und später sudo docker compose pull gefolgt von sudo docker compose up -d den Dienst beziehungsweise aktualisieren ihn. Wähle einen der beiden Verwaltungswege.
Dokumente bearbeiten, teilen und herunterladen
Du kannst ganz normal schreiben und Text formatieren. Viele Funktionen kennst Du von LibreOffice auf dem Desktop. Auch Tastaturkürzel helfen: Mit Strg + K fügst Du einen Link ein.

Mehrere Benutzer dürfen dasselbe Dokument gleichzeitig bearbeiten. Ob andere nur mitlesen oder Änderungen vornehmen können, hängt von Deinen Freigaberechten ab.

Über das Datei-Menü kannst Du Dokumente herunterladen oder exportieren, etwa als PDF, ODF oder Microsoft-Office-Datei. Die verfügbaren Formate hängen vom Dokumenttyp ab.

Für weitere Aufgaben findest Du Anleitungen zu FTP-Zugriff mit Nextcloud und kostenlosen Übersetzungen in Nextcloud. Collabora Office für Android und iOS bearbeitet Dateien auch mobil; für Android verlinkt der Hersteller ein zusätzliches F-Droid-Repository.
Admin-Konsole und Statistiken öffnen
Die Admin-Konsole erreichst Du unter https://office.example.org/browser/dist/admin/admin.html. Melde Dich mit username und password aus dem Container-Start an. Dort siehst Du unter anderem geöffnete Dokumente, aktive Benutzer und den Speicherverbrauch.

Aktualisiert am 04.10.2026 um 13:39 Uhr von Henry.
























Ich würde gerne Collabora auf meinem hausinternen NAS installieren. Würde dies auch mit der IP-Adresse des NAS statt einer Domain und Subdomain funktionieren?
Hmmm ... da hast Du mich nun kalt erwischt, da ich das nicht weiß. Ich benutze aber intern auch eine Domain und keine IP-Adresse.
Dafür gibt es mehrere Möglichkeiten. Ich verwende meine DDNS Domain, die ich im Pi-Hole in den DNS-Einstellungen unter Local domain name hinterlegt habe.
Früher habe ich intern auch immer die IP-Adresse verwendet, aber das ist mit einem Zugriff von außen immer ein riesiges Drama gewesen - wo bin wann und wie greife ich auf was zu. Seit ich die Domain benutze, ist das alles kein Problem mehr und ein Zertifikat von Let's Encrypt funktioniert damit auch.
Willst Du es rein intern halten, sollte aber Zeroconf funktionieren. Also mit einer .local-Domain sollte es schon klappen, habe ich aber noch nie ausprobiert.
Ich hoffe, das hilft irgendwie weiter.
Hey, danke für die schöne Anleitung!
Ich habe ein ähnliches Setup, allerdings ufw als Firewall. Und iwie bekomme ich den Docker-Container nicht erreicht …
Es gibt ne Menge (verschiedener) Infos zu Docker + ufw I'm Netz, alles iwie nicht trivial.
Meine Frage: Benutzt du ieine Firewall?
Wenn ja: Welche + wie ist die (für das Beschriebene) konfiguriert?
Wenn nein: Weshalb nicht?
Danke vorab + Grüße!
Hi, ich benutze keine Firewall. Mein Server ist ein VPS bei Contabo und es sind nur wenige Ports aus dem Internet erreichbar. Genauer gesagt sind es 80, 443 und 22.
Vor Brute-Force-Angriffen schütze ich mich mit fail2ban, beziehungsweise ist meine WordPress-Loging-Seite noch mit einem Apache-Passwort via .htpasswd abgesichert.
Services, die nicht aus dem Internet erreicht werden sollen, öffnen auch keinen Port dahin. Bisher hat das gereicht. 🙂
Moin,
danke für deine Anleitung. Leider bekomme ich folgende Fehlermeldung wenn ich eine Datei anklicke:
Collabora Online konnte nicht geladen werden. Bitte versuche es später noch einmal.
Den Server habe ich mehrfach neu gestartet.
Wenn ich die URL https://office.tttttt.example-abcd.org/loleaflet/dist/admin/admin.html aufrufe, bekomme ich folgende Fehlermeldung:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: Error reading from remote server
Nextcloud: tttttt.example-abcd.org/nextcloud
Dokumentenserver: office.tttttt.example-abcd.org
Das Dockerabbild habe ich wie folgt gestartet:
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=\\tttttt\\.example-abcd.\\.org\\/nextcloud' -e "username=EIN-ANWENDER" -e "password=EIN-PASSWORT" --restart always --cap-add MKNOD collabora/code
Kannst Du mir helfen?
Danke für Deine Bemühungen
CMB
Hi,
also auf den ersten Blick fällt mir auf:
"domain=\\tttttt\\.example-abcd.\\.org\\/nextcloud" <- das ist nicht die Domain, das ist die URL zur Nextcloud. Versuche es mal ohne "\\/nextcloud" Klappt es dann?
Hi,
kannst du mir kurz erklären, ob man auch eine zweite DNS (von noip) braucht?
Oder wird der Office-Server nicht direkt von außen angesprochen sondern nur über nextcloud?
Ich kenne mich mit Domain Namen nicht so gut aus.
Ist der office.example.org nur Intern relevant? Oder würdest du auch von außerhalb über die Domain auf den Office-Server zugreifen.(Wie bei Nextcloud)
Hallo,
die Nextcloud kommuniziert mit dem Office-Server über das Netzwerk. Deswegen hinterlegst Du eine Domain oder eine IP-Adresse in der Nextcloud App.
Bei mir liegt die Office-Instanz aber auf einem externen Server und ich will die Kommunikation via HTTPS über ein Zertifikat von Let's Encrypt haben. Damit ich eines bekomme, brauche ich aber einen Domain-Namen.
Ohne Domain-Name könnte ich zwar ein selbst signiertes Zertifikat ausstellen lassen, aber da ist mir der Weg via Let's Encrypt lieber.
Dass der Office-Server über einen eigenen Namen von überall aus erreichbar ist, hat einen weiteren Vorteil. Ich könnte mehr als eine Nextcloud-Instanz damit arbeiten lassen. Mache ich auch, weil meine Test-Nextcloud ebenfalls darauf Zugriff hat.
Intern geht das vielleicht schon ohne Domain-Name, ich habe es aber nicht ausprobiert. Aber via Docker sollte sich das schnell und einfach herausfinden lassen.
[…] _eine andere vom Nextcloud-Forum, die hilfreich war _mal wieder leicht verständlich, daher super: Bitblokes – allerdings nur für http _Decatec für eine echte sichere Implementierung auf ngix _die, an […]