Collabora mit Nextcloud und nginx

Unter Debian 8 und nginx Collabora zum Laufen zu bringen, ist nicht ganz trivial. Aus verschiedenen Forenthreads und Anleitungen habe ich mir die Infos zusammengesucht, mit denen ich nun Collabora problemlos betreiben kann.

Diese Anleitung funktioniert mit Debian 8. Bitte andere ggf. austesten.

Als erstes installiert bitte Docker mit den offiziellen Docker Repos und entfernt ggf. die bisherige Docker Version:

sudo apt-get purge docker-ce

sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Danach muss bei Docker unter Debian der Storage Driver auf Device Mapper umgestellt werden. Dabei werden alle bestehenden laufenden Container gelöscht!

nano /etc/default/docker:

DOCKER_OPTS="--storage-driver=devicemapper"

Zusätzlich:

mkdir /etc/systemd/system/docker.service.d
nano /etc/systemd/system/docker.service.d/execWithDeviceMapper.conf

und folgenden Code einfügen:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --storage-driver=devicemapper -H fd://

Bitte überprüft abschließend, ob die letzte Zeile stimmt mittels:

grep ExecStart /lib/systemd/system/docker.service

Nun bitte Docker neu laden und neu starten:

systemctl daemon-reload
service docker reload
service docker restart

Nun installieren wir Collabora. Wer mehreren Nextcloud Instanzen den Zugriff auf Collabora ermöglichen möchte, muss auch alle Domains angeben, von denen Collabora aufgerufen wird:

docker pull collabora/code
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.nextcloud\\.com\|cloud\\.speibox\\.de' --restart always --cap-add MKNOD collabora/code

Die nginx Konfiguration sieht folgendermaßen aus – bitte nimm ein eigene Subdomain:

server {
listen       443 ssl http2;
server_name  office.xy.de;

ssl_certificate /etc/letsencrypt/live/xy.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xy.de/privkey.pem;

# static files
location ^~ /loleaflet {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}

# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}

# download, presentation and image upload
location ^~ /lool {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

Ein Reload von nginx genügt. Zum Abschluss noch die Collabora App in Nextcloud installieren und dort die Adresse https://office.xy.de eintragen. Der Port 443 muss nicht mit angegeben werden.

Nähere Infos zum Update von Collabora findest du auf der Seite von Nextcloud.

Nextcloud Hosting?
Wir betreiben eine performante, sichere Nextcloud, deren Daten alle in Deutschland liegen.
More from Benjamin Hartwich

xDebug auf dem Server installieren

Habt ihr euch schon einmal über lange Ladezeiten von Webseiten mit PHP...
Read More

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.