I’ve put together a bundle that deploys a “Nextcloud, together with Collabora Online”. I got it up and running some time ago which I had some hopes to be able to refine … but time hasn’t been on my side so I decided to throw it up here now anyway.
Nextcloud + Collabora Online gives you a completely private cloud with:
File sharing and file synchronization. (Your phone can sync your images and data to it.)
A document editing suite where data never leaves your server.
Support for many different storage solutions.
A rich plugin ecosystem.
The private philosophy of the Nextcloud community is truly amazing and I hope to be able to improve this bundle over time as I’m running it myself today.
Any feedback welcome and I’ll try get a tutorial up here on how to deploy it (if the bundle docs doesn’t cover it well enough). Hopefully I would get some help develop it further.
Enjoy your private cloud!
Attributions
Thanx to the Nextcloud project for the incredible software allowing users to pertain privacy.
Thanx to LibreOffice, for maintaining a truly open document standard and office tools for everyone to use.
Thanx to Collabora for making online editing possible for open document formats.
Thanx to LetsEncrypt that helps us create a secure internet!
Thanx to Tengu Team for providing excellent ssl-termination-proxy juju charms!
Thanx to PostgreSQL for providing a state of tha art and open source database engine!
Thanx to Canonical for maintaining the Juju open source community.
Like you mention, the bundle doesn’t yet work out of the box. I ended up deploying the charms and adding relations manually. Here are a few things that needed tweaking:
The ssl-termination-proxy charm does not have support for bionic. Pinging @merlijn-sebrechts
The ssl-termination-proxy requires terms to be agreed to:
juju agree isrg-lets-encrypt/2
Within the nextcloud application, I was having difficulty accessing the login page from my custom domain. When someone adds the fqdn config, it should update config.php. I did this manually:
I added storage to the postgresql unit. By default it only has a very small allowance.
GCE does not expose public IP addresses by default. I needed to expose the applications for Let’s Encrypt to work.
This isn’t something that you recommend, but I did trip over it. The collabora and nextcloud charms do not play nicely on the same machine. I originally tried to deploy them together.
I believe that the following should work out of the box for anyone who doesn’t trust bundles for some reason:
@timClicks I’ve made an effort this weekend and updated the bundle/charms… This is added
The ssl-termination-proxy charm does not have support for bionic. Pinging @merlijn-sebrechts 
I hope this could be fixed soon. =)
The ssl-termination-proxy requires terms to be agreed to:
This has been added to the documentation in how to deploy the bundle.
This isn’t something that you recommend, but I did trip over it. The collabora and nextcloud charms do not play nicely on the same machine. I originally tried to deploy them together.
Also added some documentation to emphasize this. Could this be enforced somehow?
Within the nextcloud application, I was having difficulty accessing the login page from my custom domain. When someone adds the fqdn config, it should update config.php. I did this manually:
There was/is actually already a juju action that helps with that (its in the documentation for the charm). But I added some information about it in the bundle documentation now also.
With the latest release of the nextcloud charm configuration options are added that allows for larger file uploads through php. Earlier versions borked as soon as you started uploading “larger” images and movies from your smartphone etc. However, I would need again the great Tengu Team to update the ssl-termination-proxy charm since the nginx configuration prevents larger file-uploads in that end, another one at @merlijn-sebrechts ?
I’ve posted an issue for layer-ssl-termination-proxy The nextcloud instances will have problems until this is fixed actually… I’m not sure how to mitigate/workaround this except manual edit of configuration files for nginx.
Definetly! I’m running it at home and would love to share this suite of software. I really think the private cloud solution that Nextcloud brings to the table is quite unique in the field and also cover use-cases otherwise very difficult to reach with public or hybrid clouds.
I’ll try to improve it over time as its still very rudimentary…