# Collabora Online Pretty office suite with mobile device support. Based on libreoffice. # Installation (use with nextcloud) This installation procedure could serve as a reference for other purposes, but it is made with nextcloud integration in mind. ## Import signing keys and setup repository ```shell wget -qO /usr/share/keyrings/collaboraonline-release-keyring.gpg https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg echo 'deb [signed-by=/usr/share/keyrings/collaboraonline-release-keyring.gpg arch=amd64] https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian11 ./' | tee /etc/apt/sources.list.d/collabora.list apt update ``` ## Install packages Firstly, install Microsoft fonts such as Arial, Times, etc. (optional) Collabora's installation will look for system fonts and generate a systemplate, so, this will ensure MS fonts are available in collabora. ```shell apt install ttf-mscorefonts-installer ``` Install Collabora front and backend packages, plus spell checking ```shell apt install coolwsd code-brand hunspell collaboraoffice*-dict-* ``` ## Configure nginx Add to `/etc/nginx/sites-available/collabora.conf` (change office.example.org with your domain): ```nginx server { listen 80; server_name office.example.org; # static files location ^~ /browser { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # WOPI discovery URL location ^~ /hosting/discovery { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # Capabilities location ^~ /hosting/capabilities { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # main websocket location ~ ^/cool/(.*)/ws$ { proxy_pass http://127.0.0.1:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } # download, presentation and image upload location ~ ^/(c|l)ool { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # Admin Console websocket location ^~ /cool/adminws { proxy_pass http://127.0.0.1:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } } ``` Enable nginx site. ``` ln -s /etc/nginx/sites-available/collabora.conf /etc/nginx/sites-enabled/ ``` Run this and select your domain. ``` certbot --nginx ``` Restart nginx to apply ``` systemctl restart nginx ``` ## Edit ``/etc/coolwsd/coolwsd.xml`` ### Languages Add or remove languages, for example, here I set only `es_ES en_US de_DE fr_FR`. This can impact performance, aim for few languages. ```xml ... es_ES en_US de_DE fr_FR ... ``` ### SSL Termination Configure SSL using reverse proxy, secure and fast. Here I set SSL to false: ```xml ... false ... ``` Here I set termination to true: ```xml ... true ... ``` ## Enable coolwsd ```shell systemctl enable --now coolwsd ```