Collabora & Nextcloud Cloud Office Suite

Office suites have to be just about the most boring topic to write about on the internet…but when you think about it, they are a hugely important tool in education. Microsoft has ruled this space for decades now and done everything it can to try and bury open file standards for documents. Tools like Open Office and its fork Libre Office have gamely tried to catch up to the Microsoft juggernaut. Certainly in business Microsoft Office is king and that was the case in education until recently. Schools have increasingly moved away from standalone software to utilising cloud-based solutions like Google Drive. It seems to me that Microsoft is a little late to this party with Office 365 when compared to Google Docs. However…Google!

I recently saw a demo of a fork of Libre Office called Collabora Office. Normally this wouldn’t be of much interest, but this fork was running as a backend server for online editing. In essence, this version worked much as Google Drive did, but through frontends like Nextcloud and Owncloud. With a bit of fiddling I ran the backend server as a docker container and installed a connector app from the Nextcloud App repository. I had to mess about with subdomain names and configuring my reverse proxy, but I’m super impressed with it!

The guide for doing it yourself is here, along with a handy youtube tutorial.

There is also a fairly active forum with lots of resources to help.

Some things I learned from getting my installation up and running;

  • Make sure you have a separate subdomain for the Collabora server to run. If you don’t own a FQDN and use a free DynamicDNS service (e.g. DuckDNS), it might be worth creating another dynamic address.
  • If you have a separate Docker host to your Nextcloud instance and Reverse Proxy, make sure you don’t specify localhost in your docker start command as it won’t accept remote connections! For example go with;

    docker run -t -d -p 9980:9980 -e 'domain=cloud\\.nextcloud\\.com' --restart always --cap-add MKNOD collabora/code
    

    instead of what is specified in the official guide. I think you could also swap in -p <nextcloud container ip>:9980:9980 if you were worried about opening your Collabora server up to random connections.

  • If you already have SSL enabled on other VirtualHosts, you may want to comment out the SSL Protocol and SSLCipherSuite lines in the suggested VirtualHost file they give on the website guide. Check if your other VirtualHosts also have an Include directive as this may point to a file with a lot of repeat information. This will cause Apache to not start.

  • Remember to change the 127.0.0.1 ProxyPass directives to the ip address of the Collabora backend if you have a separate Reverse proxy.

  • It might seem redundant, but when the ServerName directive specifies port 443 (in the suggested VirtualHost file on the website it gives the example ServerName office.nextcloud.com:443, obviously change this to your Collabora server subdomain), make sure you do specify the port. Make you then specify it again when you are putting the backend server address into the Collabora Online connector app in Nextcloud.


Overall I am so impressed by what Collabora have put together here. The compatibility with DOCX files seems really great now (this was something I wasn’t so keen on the last time I used Libre Office some years ago) and there is little lag or noticeable stuttering. I also am astounded that mobile editing is also built straight into the Nextcloud apps. opening a document in the iOS app immediately brought up the Collabora editor and it seemed even faster than using it through a web browser. It might be a little fiddly (especially on a phone screen), but I’m impressed nonetheless.

I have found a couple of bugs here and there. Most notably when you open a new document it tends to create the file and then throw an error. Closing the editor and reopening the file seems to solve it, but it’s a bit fiddly. Also, the default format is .odt and other open formats. While I massively approve of open formats in principle, in reality if I write a file that is going to be sent to anyone else I would want it to be a Microsoft format like DOCX. I don’t like it, but anything else is likely to confuse people.

I’m not sure how well collaborative editing is working at the moment, but there are only a couple of users on my Nextcloud server so it’s not a huge deal. Allegedly it’s also possible to share with external users as well which, if true, is pretty bloody cool as well. I have a couple of papers left for my Masters degree in the next six months, I suspect I will be trying to make use of Collabora for this, as well as making notes in lectures.