OnlyOffice in Nextcloud – eine Bestandsaufnahme

Kürzlich hatte ich übereilt darüber berichtet, dass OnlyOffice in Nextcloud generell nicht mehr richtig funktionieren würde.

Das ist so pauschal allerdings nicht richtig und ich habe an einigen Punkten voreilige Schlüsse gezogen. Ascensio System hat sich auch bei mir gemeldet und alles unternommen, um mir bei meinen Problemen zu helfen – Danke!

Den ursprünglichen Beitrag habe ich entfernt, da er von falschen Voraussetzungen ausging.

Document Server für Docker

Die offizielle Version ist der Document Server für Docker, den man bei https://hub.docker.com/r/onlyoffice/documentserver/ findet. Diese Version funktioniert bei mir auch völlig problemlos mit der folgenden Konfiguration:

Die Docker-Installation habe ich wie folgt vorgenommen (mit anderem Passwort und Port statt 8006):

docker pull onlyoffice/documentserver
docker run -i -t -d --name="onlyoffice" -p 127.0.0.1:8006:80 --restart=always -e JWT_ENABLED="true" -e JWT_SECRET="secret" onlyoffice/documentserver

Auf diese Weise kann OnlyOffice über HTTP auf Port 8006 angesprochen werden. Damit der Dienst über HTTPS in Nextcloud nutzbar ist, muss eine eigene Subdomain eingerichtet werden. Dort nutzt man dann Apache als Proxy mit folgenden Angaben dazu als Teil des Abschnitts <VirtualHost>:

SetEnvIf Host "^(.*)$" THE_HOST=$1
RequestHeader setifempty X-Forwarded-Proto https
RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
ProxyAddHeaders Off
ProxyPass /.well-known !
ProxyPassMatch (.*)(\/websocket)$ "ws://127.0.0.1:8006/$1$2"
ProxyPass / http://127.0.0.1:8006/
ProxyPassReverse / http://127.0.0.1:8006/

Apache nimmt dann alle Anfragen über HTTPS entgegen und lietet sie lokal über HTTP an den Docker-Container weiter.

Hierbei ist auch zu beachten, dass folgende Apache-Module aktiviert sein müssen:

  • proxy
  • proxy_http
  • proxy_wstunnel
  • headers
  • setenvif

In dieser Konstellation funktioniert OnlyOffice bei mir auch zuverlässig.

Siehe dazu auch https://github.com/ONLYOFFICE/document-server-proxy/blob/master/apache/minimal.conf.

Der Fehler, der dazu geführt hatte, dass OnlyOffice bei mir in den letzten Wochen Schwierigkeiten hatte, war ein zusätzlicher Eintrag ProxyTimeout 10, den ich schon vor langer Zeit ergänzt hatte, um ein anderes Problem zu lösen. Genau das hat aber dazu geführt, dass unbeabsichtigt Verbindungen unterbrochen wurden, die noch benötigt wurden. Aufgefallen ist mir das allerdings erst jetzt, da speziell der Spreadsheet-Editor in diesem Fall auch eine entsprechende Fehlermeldung anzeigt, die ich aber zunächst auf Inkompatibilitäten mit den verwendeten Browsern zurückgeführt hatte – bei Firefox ist das häufiger aufgetreten als bei Chrome-basierten Browsern.

„Community Document Server“ von Nextcloud

Nextcloud selbst bietet unter https://apps.nextcloud.com/apps/documentserver_community eine Variante des Document Server an, die als Nextcloud-App installiert wird und ohne Docker auskommt. Diese Variante habe ich selbst nie verwendet, aber nach dem, was ich darüber bisher erfahren habe, würde ich nicht empfehlen, das zu verwenden, sondern nur die Docker-Version oder einen eigenen Server.

Wie die technische Lösung im Detail aussieht, habe ich mir noch nicht angesehen, allerdings sind die Bewertungen der aktuellen Version 0.1.7 ziemlich vernichtend. Sowohl auf der App-Seite wie auch in Github findet man zahlreiche Hinweise darauf, dass die Speicherung von Daten nicht zuverlässig funktioniert (siehe auch Github #170, Github #121, Github #100, Github #12).

Warum hat Nextcloud diese Version entwickelt, wenn sie offensichtlich so viele Probleme verursacht?

Die Vorgeschichte war, dass Nextcloud und OnlyOffice bereits im Oktober 2018 eine engere Zusammenarbeit angekündigt hatten. In der Folge wurde dann auch OnlyOffice als präferierte Office-Lösung für Nextcloud ausgebaut, wobei es auch Unterstützung durch das Team von Nextcloud gab.

Anfang 2020 hat sich OnlyOffice entschieden, die Bearbeitung von Dokumenten in mobilen Browsern in der kostenlosen Community-Version nicht mehr zuzulassen, was aber nirgends offiziell angekündigt wurde, sondern eher indirekt durch eine Diskussion in Github bekannt wurde, worüber ich auch berichtet hatte. Die einzige Möglichkeit, Dateien auf mobilen Geräten bearbeiten zu können, war der Kauf einer kommerziellen Lizenz für 950 EUR (und das jedes Jahr, wenn auch Updates haben möchte), was aber gerade für private Nutzer und Institutionen mit wenig Budget nicht tragbar war.

Die Nextcloud-Community hat diesen Schritt nicht besonders positiv aufgenommen und befürchtet, dass in Zukunft noch weitere Einschränkungen zu erwarten sind. Als eine Folge der Diskussion hat OnlyOffice eine günstigere Version der „Integration Edition“ eingeführt, bei der man für 90 EUR eine Lizenz für 10 gleichzeitige Nutzer bekommt. Die Lizenz gilt zeitlich unbegrenzt, allerdings muss man sie für Updates faktisch jedes Jahr erneuern.

Allerdings ist der Document Server auch Open Source und man kann aus den Quellen auch eine eigene Version erstellen. Das hat dazu geführt, dass schließlich man bei Nextcloud eine Variante erstellt hat, die auch ohne Docker lauffähig ist, so dass man mit „Nextcloud Hub“ ein Gesamtpaket inkl. Office anbieten kann, was möglichst einfach installierbar ist.

Mobile Bearbeitung für Android

Das Problem der mobilen Bearbeitung wurde ebenfalls entschärft. Die kostenlose version von OnlyOffice für Android unterstützt schon einige Zeit auch die Bearbeitung von Dateien, die man im Nextcloud-Client öffnet. Die einzige Einschränkung ist, dass dies nicht kollaborativ erfolgt, sondern die Datei wird heruntergeladen, lokal bearbeitet und danach wieder über hochgeladen.

ACHTUNG: Aktuell hat die Android-Version 4.1.0 beim Speichern einiger Dateien ein Problem! Die Dateien können nach dem Speichern nicht mehr geöffnet werden! Ich habe das Problem mit Beispieldateien bereits an Ascensio gemeldet.

Update 2020-09-29

Die Probleme mit der Android-App treten nur mit zwei Test-Dateien auf, wo unklar ist, was hier genau passiert. Mit anderen Dateien ist der Fehler nicht reproduzierbar. Ich gehe daher davon aus, dass es sich hier um kein grundlegendes Problem handelt, sondern einen Einzelfall, der nur mit den defekten Dateien auftritt.

Fazit

OnlyOffice in Nextcloud ist nach wie vor eine sehr gute Alternative zu Office 365 oder Google Docs, die ich weiterhin empfehlen kann. Man sollte allerdings für den Document Server unbedingt die offizielle Version verwenden und bei Problemen genau prüfen, dass die Konfiguration des Servers korrekt ist.

2 Gedanken zu „OnlyOffice in Nextcloud – eine Bestandsaufnahme“

  1. K
    Kuhnt, Adrian

    Hallo,
    ich bin noch ziemlich neu in der ganzen Materie. Ich habe eine Nextcloud auf meinem Raspberry Pi aufgesetzt und wollte auch OnlyOffice installieren. Dies habe ich zunächst per App Istallation versucht, allerdings ohne Erfolg. Daher wollte ich es nun mit Ihrer Anleitung probieren, verstehe allerdings nicht ganz, wie der Teil mit dem funktioniert. Muss ich dafür einen weiten Befehl ausführen, damit ich die dann gezeigten Textzeilen in ein Dokument o.ä. einfügen kann?

    Vielen Dank im Voraus

    1. Arno Welzel

      Der Artikel setzt voraus, das man weiß, wie Docker funktioniert und wie man Apache konfiguriert. Zu erklären, wie man Docker und Apache grundsätzlich installiert und konfiguriert, würde den Rahmen dieses Artikel sprengen. Hinzu kommt, dass man für OnlyOffice eine eigene Subdomain braucht, d.h. Sie müssen in ihrem lokalen Netz auch einen entsprechend konfigurierten Nameserver haben, damit Nextcloud und OnlyOffice unter zwei verschiedenen Namen aufrufbar sind (z.B. nextcloud.local und onlyoffice.local o.Ä.).

      Ebenso dürfte ein Raspberry Pi für diese Aufgabe viel zu wenig Leistung haben, da hier quasi eine komplette zweite virtuelle Linux-Umgebung dafür in einem Docker-Container läuft. Ein Raspberry Pi 4 könnte ausreichend sein, aber auch hier würde ich nicht zu viel erwarten.

Öffentlichen Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Dies ist kein Kontaktformular! Wenn Du mir eine persönliche Nachricht schreiben möchtest, benutze die E-Mail-Adresse in meinem Impressum.

Du kannst die folgenden HTML-Tags im Kommentar verwenden:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>