Folgen Sie dieser Anleitung und binden Sie Collabora Office in Ihren Nextcloud Server ein, so dass Office Dokumente online (auch mobil) bearbeitet werden können. Sie müssen nur die roten Parameter anpassen. Wir beginnen mit der Systemvorbereitung und entfernen das native docker und richten notwendige Tools ein:
apt remove docker docker-engine docker.io
apt install apt-transport-https ca-certificates curl software-properties-common -y
Ubuntu:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Debian:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Aktualisieren Sie das System und installieren docker-ce (docker community edition):
apt update && apt install docker-ce -y
Testen Sie docker
docker run hello-world
und das Ergebnis sollte in etwa meinem entsprechen:
Laden Sie nun den Collabora Docker herunter:
docker pull collabora/code
Es werden zirka 500 MB heruntergeladen und verifiziert. Im Anschluss daran passen wir den Webserver nginx für die Nutzung der Collabora Software an: (Quelle: Link)
github: https://codeberg.org/criegerde/nextcloud-office/src/branch/master/etc/nginx/conf.d/nextcloud.conf
Fügen Sie den roten Block zu Ihrer bestehenden Webserverkonfiguration 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 nun zuerst den Webserver
service nginx restart
und ermitteln dann das Netzwerkinterface von Docker.
ip --br a
Ihnen werden alle gebundenen Netzwerke angezeigt, relevant ist aber nur das entsprechende Docker-Interface:
[...]
docker0 UP 172.17.0.1/16 fe80::42:b6ff:fe32:ca91/64
[...]
Starten Sie dann den Docker-Container:
docker run -t -d -p 127.0.0.1:9980:9980 -e "aliasgroup1=https://your.dedyn.io:443,https://your\\.dedyn\\.io:443" -e "username=AdminName" -e "password=Your-Secret" --name NEXTCLOUDOFFICE --memory="4G" --memory-swap="4G" -e "lang=de_DE" -e "dictionaries=de_DE en_GB en_US" -e "extra_params=--o:home_mode.enable=true" --add-host your.dedyn.io:172.17.0.1 --restart always collabora/code
Möchten Sie mehrere Domains nutzen, so folgen Sie bitte diesem Beispiel:
docker run -t -d -p 127.0.0.1:9980:9980 -e "aliasgroup1=https://your.dedyn.io:443,https://your\\.dedyn\\.io|your_second\\.dedyn\\.io:443" -e "aliasgroup2=https://your_second.dedyn.io:443" -e "username=AdminName" -e "password=Your-Secret" --name NEXTCLOUDOFFICE --memory="4G" --memory-swap="4G" -e "lang=de_DE" -e "dictionaries=de_DE en_GB en_US" -e "extra_params=--o:home_mode.enable=true" --add-host your.dedyn.io:172.17.0.1 --add-host your_second.dedyn.io:172.17.0.1 --restart always collabora/code
Quelle: Collabora
Möchten Sie bereits installierte Microsoft Schriftarten anbieten, so folgen Sie bitte diesem Beispiel:
docker run -t -d -p 127.0.0.1:9980:9980 -e "aliasgroup1=https://your.dedyn.io:443,https://your\\.dedyn\\.io:443" -e "username=AdminName" -e "password=Your-Secret" --name NEXTCLOUDOFFICE --memory="4G" --memory-swap="4G" -e "lang=de_DE" -e "dictionaries=de_DE en_GB en_US" -e "extra_params=--o:home_mode.enable=true" --add-host your.dedyn.io:172.17.0.1 --volume "/usr/share/fonts/truetype/:/opt/collaboraoffice/share/fonts/truetype/local/:ro" --restart always collabora/code
Sehen Sie sich die Logdatei an um einen ordnungsgemäßen Start sicherzustellen:
docker logs NEXTCLOUDOFFICE
Um Parameter der DOckerinstanz anlaysieren zu können nutzen Sie docker inspect
docker inspect NEXTCLOUDOFFICE
Treten DNS Fehler auf, so erzeugen Sie eine json Datei:
nano /etc/docker/daemon.json
Fügen Sie alle Zeilen ein
{
"dns": ["192.168.2.1"]
}
(angenommen, der DNS sei 192.168.2.1) und starten Docker neu:
service docker restart
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.domain.de) ein:
Ergänzen Sie die ‚Allow list for WOPI requests‚, in unserer Anleitung 172.17.0.1/16 ( « das Docker-Subnetz):
Ab sofort können Sie Nextcloud mit einer integrierten Officelösung verwenden!
Nextcloud Office bietet zudem eine kleine Statistik- und Administrationsoberfläche. Diese erreichen Sie über den Aufruf im Browser:
https://ihre.domain.de/browser/dist/admin/admin.html
Wie aktualisieren Sie den Docker container?
Stop:
docker stop NEXTCLOUDOFFICE
Entfernen:
docker rm NEXTCLOUDOFFICE
Aktualisierung laden:
docker pull collabora/code
Neustart
docker run -t -d -p 127.0.0.1:9980:9980 -e "aliasgroup1=https://your.dedyn.io:443,https://your\\.dedyn\\.io:443" -e "username=AdminName" -e "password=Your-Secret" --name NEXTCLOUDOFFICE --memory="4G" --memory-swap="4G" -e "lang=de_DE" -e "dictionaries=de_DE en_GB en_US" -e "extra_params=--o:home_mode.enable=true" --restart always collabora/code
Aktualisierung der Nextcloud Templates:
sudo -u www-data php /var/www/nextcloud/occ richdocuments:update-empty-templates
Es steht Ihnen auch ein Nextcloud-Updateskript inklusive der Nextcloud-Office-Docker-Aktualisierung zur Verfügung.
wget -O update.sh -q https://codeberg.org/criegerde/nextcloud/raw/branch/master/skripte/update-nc-office.sh
Hilfestellungen rund um DOCKER:
» https://hub.docker.com/r/collabora/code/tags
Status der Docker container:
docker ps
docker image list
Speicherbelegung:
docker system df
Speicherplatz freigeben:
docker system prune
Achtung, das entfernt:
– alle gestoppten container
– alle Netzwerke, die nicht von mindestens einem Container verwendet werden
– dangling images
– build cache
Die Installation Ihres Nextcloudservers und der Collabora Office Suite 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 u würden sich meine Frau, meine Zwillinge und ich sehr freuen!