guides/self_hosting/services/collabora/README.md
2024-02-03 22:25:26 -06:00

88 lines
2.2 KiB
Markdown

# 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
```shell
apt install ttf-mscorefonts-installer
```
```shell
apt install coolwsd code-brand hunspell collaboraoffice*-dict-*
```
```nginx
server {
listen 80;
server_name office.tavo.one;
# 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;
}
}
```
Edit ``/etc/nginx/sites-available/collabora.conf`` for languages and SSL
## certbot
## Enable
```shell
systemctl enable --now coolwsd
```