# Setting up Collabora with KaraDAV This is entirely optional, but will allow you to edit office documents directly from the browser. Note that Collabora has a soft limit of 20 ## With Docker First install docker and docker-compose, then run `docker pull collabora/code` to fetch the docker image. Now you will have to create a `docker-compose.yml` file containing: ``` collabora: image: collabora/code container_name: collabora environment: domain: "karadav.localhost" extra_params: "--o:ssl.enable=false --o:ssl.termination=false -o:net.frame_ancestors=karadav.localhost:*" expose: - 9980 ports: - "9980:9980" extra_hosts: - "karadav.localhost:0.0.0.0" ``` This setup is for a localhost test environment, where `karadav.localhost` is hosting your WebDAV server, and `docs.karadav.localhost` will host the Collabora server. You will have to replace `0.0.0.0` with your computer IP. Then create a new Apache virtual host: ``` ServerName docs.karadav.localhost AllowEncodedSlashes NoDecode ProxyPreserveHost On Header always set Access-Control-Allow-Origin "*" RewriteEngine On RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L] # static html, js, images, etc. served from coolwsd # browser is the client part of Collabora Online ProxyPass /browser http://127.0.0.1:9980/browser retry=0 ProxyPassReverse /browser http://127.0.0.1:9980/browser # WOPI discovery URL ProxyPass /hosting/discovery http://127.0.0.1:9980/hosting/discovery retry=0 ProxyPassReverse /hosting/discovery http://127.0.0.1:9980/hosting/discovery # Capabilities ProxyPass /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities retry=0 ProxyPassReverse /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities # Main websocket ProxyPassMatch "/cool/(.*)/ws$" ws://127.0.0.1:9980/cool/$1/ws nocanon # Admin Console websocket ProxyPass /cool/adminws ws://127.0.0.1:9980/cool/adminws # Download as, Fullscreen presentation and Image upload operations ProxyPass /cool http://127.0.0.1:9980/cool ProxyPassReverse /cool http://127.0.0.1:9980/cool # Compatibility with integrations that use the /lool/convert-to endpoint ProxyPass /lool http://127.0.0.1:9980/cool ProxyPassReverse /lool http://127.0.0.1:9980/cool ``` Reload the apache configuration, and launch `docker-compose up`. Lastly, in KaraDAV's `config.local.php` set `WOPI_DISCOVERY_URL` to `http://docs.karadav.localhost/hosting/discovery`. Now you should be able to edit ODS/ODT/etc. files from the web UI using Collabora.