OnlyOffice als Docker Container in Nextcloud auf der Synology DiskStation integrieren (DSM bis 7.1)

OnlyOffice ist seit Nextcloud Hub (18.0) in Nextcloud integriert. Mit dem Community Document Server kann man eine integrierte Version des OnlyOffice-Servers installieren und so Office-Dokumente direkt in der Cloud betrachten und bearbeiten. Allerdings funktioniert diese integrierte Version alles andere als gut und ist für den produktiven Einsatz wenig geeignet. Mit nur wenig Aufwand, kann man (die entsprechende DiskStation vorausgesetzt) OnlyOffice als Docker Container bereitstellen.

Probleme der integrierten OnlyOffice-Version

Die, als Community Document Server, in Nextcloud integrierte Version von OnlyOffice scheint einige Fehler aufzuweisen. Einige Leser haben von Datenverlust berichtet, wenn ein Dokument über OnlyOffice (im Browser oder Mobil) bearbeitet wurde. Ich selbst habe das selbst schon einige Male erlebt. Ein weiteres Problem ist die fehlende Erfassung einer Änderung seitens Nextcloud. Das bearbeitete Dokument wird zwar gespeichert, wird aber in der Cloud nicht richtig erfasst. Öffnet man das Dokument in OnlyOffice, erhält man den neuesten Stand. Auf andere Geräte wird dieser Stand aber nicht synchronisiert.
Und ein weiterer, schwerwiegender Fehler betrifft die Versionsverwaltung. Die funktioniert mit OnlyOffice nämlich nicht richtig. Nextcloud zeigt zwar alle erfasste Versionen an (unter Details > Versionen) ruft man aber eine ältere Version eines Excel-Dokuments auf, wird immer die neueste Version in OnlyOffice geöffnet. Im Editor kann man auch nicht auf die Versionshistorie zugreifen. Bei Word-Dokumenten öffnet sich zwar der Editor inklusive Fenster mit Versionshistorie, bleibt aber beim Laden des Dokuments stecken. Das Wiederherstellen und anschließende Öffnen des Dokuments funktioniert in beiden Fällen, ist aber kein praktikabler Workaround. Die nicht funktionierende Versionsverwaltung ist übrigens schon sehr lange bekannt.
Die Fehler treten nicht bei allen Usern auf und sind auch nicht auf Installationen auf einer DiskStation begrenzt. Generell lautet der Konsens, dass die integrierte OnlyOffice-Version nicht wirklich für einen produktiven Betrieb geeignet ist und die Original-Version beispielsweise als Docker Container bereitgestellt, wesentlich besser läuft.

Vorbereitung

Bevor wir loslegen, hier eine kleine Checkliste an Dingen die ihr benötigt.

  • Nextcloud, installiert auf der DiskStation, eine Anleitung dazu findet ihr in diesem Artikel. Nextcloud läuft dabei direkt am Webserver der DiskStation. Ihr könnt OnlyOffice als Docker Container auf der DiskStation auch für eine Nextcloud-Installation auf einem anderen Gerät oder Nextcloud als Docker Container bereitstellen. In diesen Fällen kann aber eine zusätzliche Konfiguration notwendig sein, um die Kommunikation mit dem Container sicherzustellen.
  • Eine DiskStation mit installiertem Docker. Docker findet ihr im Paket-Zentrum. Sollte das nicht der Fall sein, ist eure DiskStation zu schwach.
  • Ordner für den Container, üblicherweise werden diese Ordner im freigegebenen Ordner /docker angelegt. Erstellt dort einen Ordner onlyoffice, und darin die beiden Ordner data und log.
  • Ihr benötigt eine gültige Subdomain, die ihr ausschließlich für OnlyOffice verwendet.

Installation

Vergewissert euch noch einmal, ob die folgende Anleitung auch das ist, was ihr erreichen wollt. Nextcloud ist direkt auf der DiskStation installiert, lediglich OnlyOffice wird per Docker bereitgestellt.

OnlyOffice als Docker Container bereitstellen

Öffnet Docker auf eurer DiskStation und wechselt in den Bereich Registrierung. Sucht dort über das Suchfeld nach “onlyoffice”. Achtet darauf, das richtige Image herunterzuladen. Ihr benötigt onlyoffice/documentserver. Das Image communityserver enthält keine Office-Editoren, sondern stellt Funktionen bereit, die in unserem Fall Nextcloud übernimmt.

Image in der Registry suchen
Image in der Registry suchen

Nachdem das Image heruntergeladen wurde, wechselt in den gleichnamigen Bereich und klickt doppelt auf das Image, um einen neuen Container zu erstellen. Ihr könnt die Ressourcen für den Container einschränken, wenn ihr wollt. Im Leerlauf benötigt der Container quasi keine CPU-Leitung, aber einige Hundert MB RAM (Werte können je nach Nutzung weiter ansteigen). Wie die Ressourcenbelegung des Containers während der Nutzung aussieht, hängt davon ab, wie viele Dokumente gleichzeitig bearbeitet werden bzw. wie viele Nutzer darauf zugreifen.

Aus dem heruntergeladenen Image kann jetzt ein Container erstellt werden
Aus dem heruntergeladenen Image kann jetzt ein Container erstellt werden

Klickt auf Erweiterte Einstellungen und wechselt in den Reiter Volume. Klickt auf Ordner hinzufügen und wählt den vorbereiteten Ordner data (/docker/onlyoffice/data) aus und klickt auf Auswählen. Gebt im Feld unter “Mount-Pfad” /var/www/onlyoffice/Data ein. Widerholt den Schritt für den Ordner log und gebt /var/log/onlyoffice ein. Wechselt dann in den Reiter Netzwerk und geht sicher, dass als Netzwerk “bridge” ausgewählt wurde, bzw. die Option “Dasselbe Netzwerk wie Docker Host verwenden” NICHT aktiviert wurde. Im Reiter Port-Einstellungen müsst ihr die internen Container Ports (443 und 80) auf lokale Ports mappen. Das ist notwendig, da der Container eben nicht im Hostnetzwerk (also eurer DiskStation) läuft, sondern in einem eigenen. Vergebt die lokalen Ports manuell, die Auswahl “Automatisch” kann dazu führen, dass der Container beim Starten nicht immer die selben Portnummer zugewiesen bekommt, das ist aber wichtig um OnlyOffice mit eurer Nextcloud zu verbinden. Da 80 und 443 bereits vom Webserver eurer DiskStation verwendet werden, müsst ihr selbst Nummern eingeben, die noch nicht verwendet werden.

Gemountete Volumes für den Container
Gemountete Volumes für den Container
Als Netzwerk nehmt das bridge-Netz
Als Netzwerk nehmt das bridge-Netz
Der lokale Port muss selbst vergeben werden
Der lokale Port muss selbst vergeben werden

Das wars, klickt auf Übernehmen und Weiter, geht sicher, dass “Diesen Container nach Abschluss des Assistenten ausführen” aktiviert ist und klickt auf Fertig. Der Container wird angelegt und startet.

Wechselt in den Bereich Container und markiert zuerst den OnlyOffice-Container und klickt anschließend auf Details. Im Reiter Terminal könnt ihr den Startvorgang des Containers mitverfolgen. Es werden nur Ausgaben angezeigt, die nach dem Öffnen des Detailfensters erfolgen. Vergangene Ausgaben findet ihr im Reiter Protokoll. Der Start dauert einige Zeit und erfordert einige Ressourcen. Wartet auf die Meldung "server is up INFO". Der Container ist jetzt einsatzbereit.

Die Meldung zeigt einen erfolgreichen Container-Start an
Die Meldung zeigt einen erfolgreichen Container-Start an

Reverse-Proxy einrichten

Euer Container ist jetzt unter jeder Adresse, unter der eure DiskStation erreichbar ist + den lokalen Ports erreichbar. Ist eure DiskStation per Domain erreichbar, die per SSL-Zertifikat abgesichert ist, würde das schon reichen. Um Dokumente von außen aufrufen zu können, müsstet ihr den lokalen Port aber am Router freigeben. Besser ist es daher, einen Reverse-Proxy mit eigener Sub-Domain einzurichten. Dann muss nur der HTTPS-Port am Router weitergeleitet werden. Das sollte bereits der Fall sein, wenn ihr eure Cloud von außen erreichen könnt.

Öffnet die Systemsteuerung und geht in den Bereich Anwendungsportal > Erweitert > Reverse Proxy. Klickt auf Erstellen und vergebt einen beliebigen Namen. Unter Quelle wählt ihr “HTTPS” aus und gebt die Sub-Domain ein und gebt als Port 443 an. Aktiviert zusätzlich noch HSTS. Als Ziel könnt ihr “HTTP” lassen und als Hostname gebt ihr "localhost" ein. Als Port verwendet ihr den lokalen HTTP-Port des Containers. Geht sicher, dass ihr die selbst vergebene Portnummer des Containers eingebt und NICHT die vorgegebene Portnummer 80. Klickt anschließend auf Speichern.

Angaben für den Reverse-Proxy
Angaben für den Reverse-Proxy

Jetzt benötigt ihr für eure Sub-Domain noch ein SSL-Zertifikat. Wechselt in der Systemsteuerung dazu in den Bereich Sicherheit > Zertifikat und klickt dort auf Hinzufügen. Belasst “Neues Zertifikat hinzufügen” und klickt auf Weiter. Besitzt ihr für die Domain bereits ein Zertifikat von einem anderen Anbieter, wählt “Zertifikat importieren” und folgt dem Assistenten weiter. Andernfalls wählt ihr “Zertifikat von Let’s Encrypt abrufen”. Gebt die Sub-Domain und eine E-Mail-Adresse ein und klickt dann auf Weiter. Wartet, bis das Zertifikat erstellt wurde.

Wurde das Zertifikat erfolgreich erstellt, müsst ihr es jetzt nur noch dem Reverse-Proxy zuweisen. Klickt dazu auf Einstellungen und sucht in der Liste den zuvor angelegten Reverse-Proxy (zu erkennen an der verwendeten Sub-Domain). Im Drop-Down wählt ihr dann das passende Zertifikat (ebenfalls zu erkennen an der Sub-Domain).

Weißt dem Reverse-Proxy das richtige Zertifikat zu
Weißt dem Reverse-Proxy das richtige Zertifikat zu

Der Only-Office-Container ist jetzt über eine eigene SSL-gesicherte Sub-Domain erreichbar. Testet das, indem ihr https://eure-sub-domain.com in den Browser eingebt.

Der Container funktioniert und ist erreichbar
Der Container funktioniert und ist erreichbar

Nextcloud konfigurieren

Nachdem wir alles vorbereitet haben, ist es an der Zeit Only-Office in der Nextcloud einzurichten. Habt ihr bereits die integrierte Version von Only-Office in Verwendung, müsst ihr zuerst die App Community Document Server deinstallieren oder zumindest deaktivieren. Wechselt dazu im Einstellungs-Menü in den App-Bereich. Die App ONLYOFFICE wird weiterhin benötigt. Habt ihr die Apps bisher noch nicht verwendet, ladet euch ONLYOFFICE im App-Bereich (zu finden unter “Büro & Text”) herunter.

Die Connector-App für OnlyOffice
Die Connector-App für OnlyOffice

Wechselt anschließend in die Einstellungen und dort in den Bereich ONLYOFFICE. Unter “Serviceadresse der Dokumentenbearbeitung” ersetzt ihr die vorgegebene Domain einfach mit der Sub-Domain für den Only-Office-Container. Klickt anschließend auf Speichern.

Die Container-URL in den Connector-Einstellungen eintragen
Die Container-URL in den Connector-Einstellungen eintragen

Das wars auch schon. Habt ihr die integrierte Version schon verwendet, funktioniert alles wie gewohnt oder sollte ich sagen es funktioniert, denn die oben geschilderten Probleme seid ihr jetzt los.
Habt ihr eine Office-Lösung für Nextcloud das erste Mal integriert, könnt ihr jetzt Office-Dokumente direkt in der Cloud öffnen und bearbeiten. Letzteres beschränkt sich auf den Browser.

Möchtet Ihr noch detailliertere Schritt-Für-Schritt-Anleitungen für euer Synology NAS, mit viel mehr Hintergrundinformationen, Tipps und Tricks? Dann holt euch mein Wissen als als umfassendes Praxis-Handbuch. Mehr Infos findet ihr in keinem Buch zu Synology und alles in der von mir gewohnten Qualität.

Die dritte Auflage enthält Aktualisierungen zu DSM 7.1 und den Updates von WebStation, Surveillance Station und Synology Photos.

Das Buch direkt beim Verlag

Das Buch auf Amazon

Related Posts

3 thoughts on “OnlyOffice als Docker Container in Nextcloud auf der Synology DiskStation integrieren (DSM bis 7.1)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert