From 3a42e72af33445c4a84b7b5be52865b8fa45d5d8 Mon Sep 17 00:00:00 2001 From: tavo-wasd Date: Sat, 3 Feb 2024 22:25:26 -0600 Subject: [PATCH] collabora --- self_hosting/services/collabora/README.md | 88 +++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 self_hosting/services/collabora/README.md diff --git a/self_hosting/services/collabora/README.md b/self_hosting/services/collabora/README.md new file mode 100644 index 0000000..b50059d --- /dev/null +++ b/self_hosting/services/collabora/README.md @@ -0,0 +1,88 @@ +# 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 +```