diff --git a/Collabora-Integration.md b/Collabora-Integration.md new file mode 100644 index 0000000..3aa0bd8 --- /dev/null +++ b/Collabora-Integration.md @@ -0,0 +1,47 @@ +# Collabora Integration + +> EGroupware allows to edit office files online via Collabora Online Office directly within EGroupware Filemanager app. + +## Installation +In a default package installation just add the ```egroupware-collabora-key``` package to your system. +It installs Collabora Online Office in it's supported version via a Docker container. + +After the package installation you have to log into EGroupware and go to **Administration >> Application >> Collabora >> Site configuration** and save the configuration page once, in order for it to write the correct Collabora configuration to ```/var/lib/egroupware/default/loolwsd/loolwsd.xml```. Collabora container should restart automatically which can take 1-2 minutes! + +> It shows an **Unsupported, the support-key is missing** watermark, unless you buy a support-key from Collabora through EGroupware GmbH: https://www.egroupware.org/collabora-online/ + +> You can also use Collaboras CODE container for development and testing purpose, by using ```collabora/code:latest``` as image name in your [/etc/egroupware-collabora-key/docker-compose.yml](https://github.com/EGroupware/build.opensuse.org/blob/master/server:eGroupWare/egroupware-collabora-key/egroupware-collabora-key/docker-compose.yml#L5). There are some restrictions in the number of concurrent users with CODE! + +## Troubleshooting + +#### Administration >> Application >> Collabora >> Site configuration shows "Unable to load https://your.domain" + +Try loading the address https://your.domain/hosting/discovery (replacing ```your.domain``` with your actual domain name). If it loads in your browser and shows a xml file, you have a problem with EGroupware server loading the file via it's (external) address from the Collabora container. This is most like a problem of your firewall not allowing your server to access itself via it's external address aka **NAT reflection**. + +There are two ways to solve this: + +**1.) in Docker by telling it to use the internal IP address when accessing the external URL** + +There is a commented external_host setting in both EGroupware [/etc/egroupware-docker/docker-compose.yml]() and Collabora [/etc/egroupware-collabora-key/docker-compose.yml](https://github.com/EGroupware/build.opensuse.org/blob/b195326bc1ade2a7985ce6ca62c2236929e2413b/server:eGroupWare/egroupware-collabora-key/egroupware-collabora-key/docker-compose.yml#L17-L18) docker-compose file: +``` + #extra_hosts: + #- "my.host.name:ip-address" +``` +modify both to: +``` + extra_hosts: + - ":172.17.0.1" +``` +> This writes your domain-name with the default IP of the docker0 bridge (172.17.0.1) in the /etc/hosts file of both container. Please verify that you actually use the Default IP (Docker Desktop for MacOS does not!). You can also use whatever internal IP your server uses. + +Then restart both Docker container by running +``` +cd /etc/egroupware-docker +docker-compose up -d +cd /etc/egroupware-collabora-key +docker-compose up -d +``` + +**2.) with the correct configuration on your firewall allowing your server to access itself via it's external address** + +Out of scope of this article.