# 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
```