collabora #2

Supports: bionic disco xenial
Add to new model

Description

Collabora Online Development Edition (or "CODE"),
is the lightweight, or "home" edition of the commercially-supported Collabora Online platform.

It's basically the LibreOffice interface in a web-browser.

CODE is not a standalone app, it's a backend intended to be accessed via "WOPI" from an existing interface
(E.g. Nextcloud)


Overview

This collabora charm is intended to be used with nextcloud
with a ssl-termination-proxy in front to bring some security to the installation.

A typical setup is with Nextcloud, Collabora & SSL termination proxy
looks like this:

Here is a nextcloud-collabora-tls
bundle for the below.

Deploy without SSL

If you like to try it out without SSL for testing purposes.

juju deploy cs:~erik-lonroth/nextcloud
juju config nextcloud fqdn='nextcloud.mydomain.com'

juju deploy postgresql
juju relate postgresql:db nextcloud:postgres

juju deploy cs:~erik-lonroth/collabora
juju config collabora nextcloud_domain='nextcloud.mydomain.com'
juju expose nextcloud

Login to nextcloud

Login is avaiable at http://nextcloud.mydomain.com with

username: admin
password: mypassword 

You should change the password for admin.

Add & configure the collabora plugin for online editing

After installation, you should be logging in to nextcloud and add the "Collabora Plugin".

Configure the Collabora URL and port as: "https://collabora.mydomain.com:443/"

After configuring collabora, try create a "ods" document from your browser and it should work.
(Its known to fail the first time for some reason,
but try a few times if it fails.)

Known Limitations and Issues

Does not use SSL. Should have a SSL-termination proxy in front.

Contact Information

Erik Lonroth erik.lonroth@gmail.com

Upstream Project Names

TODO:

  • The optional username and password parameters
    enable the admin console feature of CODE. You can access the admin console at
    https:///loleaflet/dist/admin/admin.html.

  • Make collabora bind to private address (not 0.0.0.0).


Configuration

apt-key-server
(string) APT Key Server
hkp://keyserver.ubuntu.com:80
cuda_repo
(string) The cuda-repo package version to install.
10.0.130-1
docker-ce-package
(string) The pinned version of docker-ce package installed with nvidia-docker.
docker-ce=5:18.09.1~3-0~ubuntu-bionic
docker-opts
(string) Extra options to pass to the Docker daemon. e.g. --insecure-registry.
docker_runtime
(string) Docker runtime to install valid values are "upstream" (Docker PPA), "nvidia" (Nvidia PPA), "apt" (Ubuntu archive), "auto" (Nvidia PPA or Ubuntu archive, based on your hardware), or "custom" (must have set `docker_runtime_repo` URL, `docker_runtime_key_url` URL and `docker_runtime_package` name).
auto
docker_runtime_key_url
(string) Custom Docker repository validation key URL.
docker_runtime_package
(string) Custom Docker repository package name.
docker_runtime_repo
(string) Custom Docker repository, given in deb format. Use `{ARCH}` to determine architecture at runtime. Use `{CODE}` to set release codename. E.g. `deb [arch={ARCH}] https://download.docker.com/linux/ubuntu {CODE} stable`.
enable-cgroups
(boolean) Enable GRUB cgroup overrides cgroup_enable=memory swapaccount=1. WARNING changing this option will reboot the host - use with caution on production services.
http_proxy
(string) URL to use for HTTP_PROXY to be used by Docker. Useful in egress-filtered environments where a proxy is the only option for accessing the registry to pull images.
https_proxy
(string) URL to use for HTTPS_PROXY to be used by Docker. Useful in egress-filtered environments where a proxy is the only option for accessing the registry to pull images.
install_from_upstream
(boolean) Toggle installation from Ubuntu archive vs the Docker PPA (DEPRECATED; please use docker_runtime instead).
nagios_context
(string) Used by the nrpe subordinate charms. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
juju
nagios_servicegroups
(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup
nextcloud_domain
(string) loolwsd.xml domain (your nextcloud server.)
nextcloud.example.com
no_proxy
(string) Comma-separated list of destinations (either domain names or IP addresses) which should be accessed directly, rather than through the proxy defined in http_proxy or https_proxy. Must be less than 2023 characters long.
nvidia-container-runtime-package
(string) The pinned version of nvidia-container-runtime package.
nvidia-container-runtime=2.0.0+docker18.09.1-1
nvidia-docker-package
(string) The pinned version of nvidia-docker2 package.
nvidia-docker2=2.0.3+docker18.09.1-1
port
(int) Port on which to listen.
80
ssl_enable
(boolean) loolwsd.xml ssl.enabled option.
ssl_termination
(boolean) loolwsd.xml ssl.termination option
True