Nextcloud mit Nextcloud Office für eine oder multiple Domains

turnserver
Nextcloud mit Collabora Office Docker

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:

sed -i '$adeb https://download.docker.com/linux/ubuntu bionic stable' /etc/apt/sources.list
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Debian:

sed -i '$adeb [arch=amd64] https://download.docker.com/linux/debian stretch stable' /etc/apt/sources.list
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

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 dann den Docker neu:

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 --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://<domain1>:443,https://<your-dot-escaped-aliasname1>|<your-dot-escaped-aliasname2>:443" -e "aliasgroup2=https://<domain2>:443" -e "username=admin" -e "password=S3cRet" --name=NEXTCLOUDOFFICE --restart always collabora/code

Quelle: Collabora

Sehen Sie sich die Logdatei an um einen ordnungsgemäßen Start sicherzustellen:

docker logs 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:

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 --restart always collabora/code

Hilfestellungen rund um DOCKER:

Status der Docker container:

docker ps
docker image list

Speicherbelgung:

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!

Unterstützen Sie uns?