Aufsetzen von Nextcloud mit Collabora

Für das hosten einer eigenen Cloud habe ich nach kurzem Suchen 2 Open-Source Lösungen im Netz gefunden: Owncloud und Nextcloud. Während Owncloud wohl den ersten Meilenstein begründet hat, ist das Userinterface wirklich nicht das Gelbe vom Ei. Also habe ich Nextcloud eine Chance gegeben, meine erste eigene Cloud zu werden. Dateien hochladen ist schon ein guter Anfang, aber das Bearbeiten von Office Dokumenten in Nextcloud geht nur im Verbund mit Collabora. Hier also meine Erfahrungen beim Aufsetzen von Nextcloud und Collabora.

Sidenote: Beide Systeme scheinen denselben Kern zu haben bzw. Nextcloud scheint auf Owncloud zu basieren. Das hat vor allem den Vorteil, dass es eine Überschneidung in der Vielfalt von Plugins für das System gibt. Die Oberfläche von Nextcloud ist jedoch übersichtlicher, sodass dies für mich aktuell die bessere Lösung darstellt.

Eine Liste der Quellen für die vorliegende Konfiguration befindet sich am Ende des Beitrags. Der Rest basiert auf dem guten, alten Trial-and-Error Verfahren.

Was ist denn Collabora?

Ich glaube, dass jede(r), die/der diesen Beitrag liest, im Besitz eines Google-Accounts ist. Sicher kennen die meisten dann auch die Vorteile des gemeinsamen und gleichzeitigen Arbeitens an einem Dokument in Google-Drive. „Collabora Office“ ermöglicht ein solches Arbeiten ebenfalls. Allerdings auf Basis des Open Source Office Pakets „LibreOffice“.

Ein weiterer Vorteil ist, dass Collabora selbst gehostet werden kann und daher einzig einer Privatperson oder einem Unternehmen untersteht. Die Kommunikation mit diesem Server findet also stets im eigenen Ökosystem und – per SSL Verschlüsselung – geheim statt.

Einrichtung der Cloud

Der Betrieb meines Servers basiert grundlegend auf Docker. Anfragen werden über den NGINX-Proxy von jwilder im Zusammenhang mit dem Proxy-Companion von JrCs weitergeleitet. Wie das Zusammenspiel dieser Container funktioniert, werde ich hier nicht weiter erklären. Das können die Readme(s) der Projekte sowieso besser.

Folgend also die Konfiguration für Nextcloud, basierend auf einer docker-compose.yaml, einer NGINX Konfiguration und einer Sammlung von Variablen:

Der Grund für php als Namen für den Nextcloud Container findest sich beim fastcgi_pass der NGINX Konfiguration:

Damit allein sollte Nextcloud schon einen guten Eindruck machen und ordnungsgemäß funktionieren. Im App-Store findet sich auch schon die passende Anwendung für das Verarbeiten von Office-Dateiformaten: „Collabora Online“. Damit das Zusammenspiel funktioniert, müssen wir die Konfiguration aber noch etwas erweitern.

Collabora hinzufügen

Die einfachste (und in Zusammenhang mit NGINX wohl einzige) Möglichkeit, Collabora zu nutzen, ist das Aufsetzen eines Docker-Containers unter einer Subdomain. Collabora stellt einen offiziellen Container zur Verfügung, der nur noch mit einem SSL Zertifikat ausgestattet werden muss. Da mein Docker-Server mit Proxy + Companion dies bereits gewährleistet, muss ich nur noch die Subdoain herrichten und folgendes in die docker-compose.yaml einfügen:

Der neu aufgesetzte Collabora Container braucht auf dem Server einige Minuten, um sich ordnungsgemäß hochzufahren. Ist der Container bereit, sollte der Aufruf von my-office.my-domain.com im Browser ein „OK“ ausgeben. Alles Weitere muss für Nextcloud hergerichtet werden.

Folgende Einstellungen müssen der NGINX Konfigurationen hinzugefügt werden:

Mit dieser Konfiguration leitet NGINX alle Zugriffe auf „rich-text-documents“ an den Websocket von Collabora weiter. Die App „Collabora Online“ definiert, welche genau das sind.

Da wir weiterhin in unserem eigenen Ökosystem agieren und Zugriffe auf Port 9980 von außen verhindern möchten, wird https://collabora:9980 für den proxy_pass genutzt. Sollte der Dienst am Ende nicht erreichbar sein und z.B. einen 404 Fehler auswerfen, könnte das Einsetzen der echte URL my-office.my-domain.com ein Lösungsansatz sein.

Der richtige Port für die App

Zuletzt muss nur noch die App über den Standort des Websockets informiert werden. Dazu finden wir in den Einstellungen den Punkt „Collabora Online“ in der Sidebar. In das Feld ganz oben sollte die echte Domain my-office.my-domain.com eingetragen werden. Im Gegensatz zum Placeholder, der einen Port :9980 am Ende der Eingabe vorschlägt, sollte man dies unterlassen! In meinem Fall wurde Collabora nur erreicht, wenn gar kein Port spezifiziert wurde.

Nun sollte dem Arbeiten mit Calc, Writer und Co. in der eigenen Cloud nichts mehr im Wege stehen. Probiert es gleich mal aus!

Das Fazit

Das war mein kleiner Guide zum Aufsetzen von Nextcloud mit Collabora. Etwas frickelig war es zwischendurch, wenn sich nur noch mit Trial-and-Error der korrekte Port bzw. die Domain herausfinden lässt. Auch bisherige Dokumentation für eine allumfassende NGINX Konfiguration ist recht dünn im Internet. Es hat sich jedoch gelohnt, denn nun kann ich meine Office-Arbeiten auch unterwegs lösen, mit Freunden und Kollegen teilen, in PDF umwandeln und auf ein beliebiges Endgerät herunterladen.

Zum Abschluss sei allerdings noch gesagt, dass Collabora keine „eier-legende Wollmilchsau“ ist. Der Funktionsumfang kann nicht mit Google-Drive mithalten und kommt nicht mal an den Umfang von LibreOffice auf einem PC/Linux heran. Auch die Verarbeitung ist mit dem Umweg über SSL plus dem Hin- und Her zwischen den Servern/Containern nicht die schnellste. Trotzdem hat das Verarbeiten und Filtern einer Inventarliste in Calc oder ein Stichwortzettel im Writer definitiv einen Mehrwert, wenn das ausführende Endgerät ein PC, Notebook, Tablet oder sogar ein Smartphone sein kann.

Quellen

Kommentar hinterlassen

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