Folgen Sie dieser Anleitung und binden Sie Nextcloud Office (aka Collabora Office) in Ihren Nextcloud Server ein, so dass Office Dokumente online (und mobil) bearbeitet werden können. Optional beschreiben wir auch, wie Sie die Microsoft-Schriftarten installieren und in Nextcloud Office einbinden.
Wir beginnen zuerst mit der Systemvorbereitung:
sudo -s
apt install apt-transport-https ca-certificates curl software-properties-common -y
UBUNTU:
apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
apt update
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
DEBIAN:
apt remove $(dpkg --get-selections docker.io docker-compose docker-doc podman-docker containerd runc | cut -f1)
apt update
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
Ab hier geht es wieder für beide Betriebssysteme: weiter:
Aktualisieren Sie das System und installieren docker-ce und -compose:
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
Legen Sie sich nun einen Ordner für Collabora Office an
mkdir -p /var/opt/docker/collabora
und navigieren in diesen Ordner
cd /var/opt/docker/collabora
legen Sie die docker-compose.yaml Datei an
nano docker-compose.yaml
und fügen den gesamten Inhalt ein. Passen Sie die rot markierten Werte an Ihr System an:
---
services:
collabora:
container_name: NEXTCLOUDOFFICE
image: collabora/code:latest
restart: unless-stopped
ports:
- "127.0.0.1:9980:9980"
volumes:
- /usr/share/fonts/truetype/:/opt/collaboraoffice/share/fonts/truetype/local/:ro
environment:
- "aliasgroup1=https://ihre.cloud.de:443,https://ihre\\.cloud\\.de"
- "username=Ein-Administrator-Account"
- "password=AdMin-P@ssword"
- "lang=de_DE"
- "dictionaries=de_DE en_GB en_US"
- "extra_params=--o:home_mode.enable=true"
extra_hosts:
- "ihre.cloud.de:172.17.0.1" # IP has to be checked for compose stack
security_opt:
- no-new-privileges:true
user: 1001:1001
cap_drop:
- ALL
cap_add:
- SYS_CHROOT
- SYS_ADMIN
deploy:
resources:
limits:
memory: 4G
Passen Sie den vHostIhrer Nextcloud an – fügen Sie den roten Block hinzu:
nano /etc/nginx/conf.d/nextcloud.conf
...
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }
### Start Collabora Online ###
# static files
location ^~ /browser {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# Capabilities
location ^~ /hosting/capabilities {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# main websocket
location ~ ^/cool/(.*)/ws$ {
proxy_pass https://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 https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# Admin Console websocket
location ^~ /cool/adminws {
proxy_pass https://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;
}
### End Collabora Online ###
location ~ \.php(?:$|/) {
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
...
}
Quelle: Collabora
Starten Sie den Webserver nginx neu
service nginx restart
Microsoft Schriftarten (optional)
Installieren bei Bedarf die Microsoft Schriftarten.
DEBIAN
apt-add-repository contrib non-free -y
UBUNTU
add-apt-repository multiverse -y
Ab hier geht es wieder für beide Betriebssysteme: weiter:
Installieren Sie die Schriftarten:
apt install ttf-mscorefonts-installer -y
Starten Sie nun den Collabora-Dockercontainer, um anschließend die Nextcloud damit zu erweitern.
cd /var/opt/docker/collabora
docker compose up -d
Melden Sie sich in der Nextcloud an und aktivieren als Administrator die neue ‚Nextcloud Office‘ App:

Wechseln Sie in die Collabora Einstellungen und tragen dort Ihre Domain (https://ihre.cloud.de) ein:


Ergänzen Sie die ‚Allow list for WOPI requests‚, in unserer Anleitung 172.17.0.1/16 ( « das Docker-Subnetz):
127.0.0.1/8,::1/128,172.17.0.1/16,fe80::...

Ab sofort können Sie Nextcloud mit einer integrierten Officelösung verwenden!

Aktualisierungen
Haben Sie Änderungen an der Dockerkonfiguration vorgenommen oder möchten Sie ein Update ausführen, so können Sie wie folgt vorgehen:
cd /var/opt/docker/collabora/
echo " » Docker wird gestoppt"
docker compose down
echo " » Docker wird bereinigt"
docker image rm $(docker image ls | grep collabora/code | awk '{ print $2 }')
echo " » Docker wird neu gestartet"
docker compose up -d --force-recreate

Die Installation von Nextcloud Office wurde erfolgreich abgeschlossen und so wünsche ich Ihnen viel Spaß mit Ihren Daten in Ihrer privaten Cloud. Über Ihre Unterstützung (diese wird ordnungsgemäß versteuert) würden sich meine Frau, meine Zwillinge und ich sehr freuen!
