Nextcloud

From Organic Design wiki
Revision as of 00:18, 18 February 2018 by Nad (talk | contribs) (Install NextCloud)
Cone.png This article or section is a stub. Stubs are articles that have not yet received substantial attention from the authors. They are short or insufficient pieces of information and require additions to further increase the article's usefulness. The project values stubs as useful first steps toward complete articles.


This is our procedure for installing LibreOffice Online on a Debian-based server. LibreOffice has included a component to allow it to be served over HTTP since version 5.3.

I'm following the instructions created by Collabora and NextCloud from here, and more specifically the Nginx variation here. I'm documenting here my specific configuration to include the LetsEncrypt and other specific configuration aspects that are out of the scope of those instructions so that we have a more easily reproducible procedure.

I'm using two domains here which you'll need to change for your own purposes, office.organicdesign.host for the main LibreOffice Online entry point, and files.organicdesign.host for the NextCloud web-application which is an open-source "drop-box" style system with built-in integrations for LibreOffice Online.

Set up the server

apt install git net-tools nginx

Install Docker and the Docker image

Bring the machine up to date and run through the Docker installation.

docker pull collabora/code
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=files\\.organicdesign\\.host' --restart always --cap-add MKNOD collabora/code

Install and configure NextCloud

NextCloud is a "drop-box" style web-application which is completely open-source so you can install it on your own server. It's written in PHP and has built-in integration for working with LibreOffice Online. You can run through the NextCloud installation using their Debian package from here.

Configuring the web-server and domains

cd /var/www
git clone https://github.com/certbot/certbot.git letsencrypt

Ensure that the .well-known directory is accessible for your domains...

Add a crontab entry to keep the certificates up to date:

* 0 * * * root /var/www/letsencrypt/letsencrypt-auto certonly -q --keep --renew-with-new-domains --expand --webroot -w /var/www --agree-tos \
    --email "admin@organicdesign.host" -d office.organicdesign.host -d files.organicdesign.host