For working collaboratively on text documents with others, I’ve been using Nextcloud and Libreoffice / Collabora Online. Unfortunately, Collabora Online must have been designed to be used on-premise, as the document rendering is done on the server. Any network delay noticeably slows down the output and generates other undesired side effects. So I decided to look for something else.
Microsoft and Google online editors work a lot better, as they perform the document rendering in the browser rather than on the server. But these products are closed source solutions that suck my documents into their clouds and are hence not an option for me. So I gave Nextcloud with OnlyOffice a try. In the Nextcloud app store there’s an app to install OnlyOffice alongside Nextcloud on the same server. Unfortunately, the solution looks like it is abandoned and fails pretty quickly when one starts to work with it. That really puzzled me for a while…
I eventually figured out that a production setup of OnlyOffice with Nextcloud should look as follows:
–> A Nextcloud instance on Server 1
–> An OnlyOffice instance on Server 2
Here, it is important to realize that the OnlyOffice instance on Server 2 doesn’t store any documents. Instead, it’s a centralized application server that will pull text/spreadsheet/presentation documents from another server, e.g. from a Nextcloud server, and then send it to web browser based clients for editing. If more than one user edits a document simultaneously, the OnlyOffice server will combine the changes in real time and reflect them back to all clients. It also frequently saves changes back to the storage server, i.e. to Nextcloud on Server 1 in my example. Like Google and Microsoft Word online, OnlyOffice performs the document rendering in the browser and hence, network delay has no impact on usability. One can even continue editing documents when connectivity is interrupted and only gets a warning message after around 15 seconds. Once connectivity is restored, the warning message goes away and one can continue editing.
It took me a while to get my straight forward setup running, despite using the Docker Compose variant of the installation process. The main problem for me was that the Docker Compose installation documentation omits important details, which have to be inferred from the installation instructions for the plain Docker installation. Also, some important details are entirely missing. Eventually, though, I figured it out, and my setup is now up and running. Stay tuned for a follow up post in which I will document how to do a straight forward OnlyOffice docker-compose install, which will include the details that can’t be found in the official documentation.