Collabora Office für Nextcloud mit docker-compose betreiben
Diese docker-compose.yml erstellen, z.B. in /opt/collabora-mydomain:
services:
code:
image: collabora/code:latest
restart: always
environment:
- password=${COLLABORA_PASSWORD}
- username=${COLLABORA_USERNAME}
- aliasgroup1=https://collabora.mydomain.com:443
- aliasgroup2=https://nextcloud.myseconddomain.com:443
- server_name=collabora.mydomain.com
- extra_params=--o:ssl.enable=true
ports:
- 9980:9980
labels:
- "traefik.enable=true"
- "traefik.http.routers.collabora.rule=Host(`collabora.mydomain.com`)"
- "traefik.http.routers.collabora.entrypoints=websecure"
- "traefik.http.routers.collabora.tls.certresolver=cloudflare"
- "traefik.http.routers.collabora.tls.domains[0].main=mydomain.com"
- "traefik.http.routers.collabora.tls.domains[0].sans=*.mydomain.com"
- "traefik.http.services.collabora.loadbalancer.server.port=9980"
- "traefik.http.services.collabora.loadbalancer.server.scheme=https"Falls erforderlich, weitere Aliasgroups nach Bedarf hinzufügen.
Nun diese .env mit der Konfiguration erstellen. Passwort und Domain müssen angepasst werden!
COLLABORA_USERNAME=admin
COLLABORA_PASSWORD=veecheit0Phophiesh1fahPah0Wue3Nun kann ein systemd-Service für den Autostart erstellt werden mit unserem Skript aus systemd-Service für ein docker-compose-Projekt in 10 Sekunden erstellen.
Aus dem Verzeichnis heraus ausführen (z.B. /opt/collabora-mydomain)
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdinTraefik-Konfiguration
Die gesamte relevante Traefik-Konfiguration befindet sich bereits in der docker-compose.yml. Traefik muss laufen und für die Verwendung des cloudflare-Certresolvers konfiguriert sein.
Siehe diesen TechOverflow-Beitrag für die verwendete Traefik-Konfiguration.
nginx-Konfiguration
Hinweis: Generell wird die Verwendung von Traefik empfohlen.
Nun muss der Reverse-Proxy konfiguriert werden, um auf Port 9980 zu zeigen. Hier ist eine Beispiel-nginx-Konfiguration:
server {
server_name collabora.mydomain.com;
access_log /var/log/nginx/collabora.mydomain.com.access_log;
error_log /var/log/nginx/collabora.mydomain.com.error_log info;
location / {
proxy_pass https://127.0.0.1:9980;
proxy_http_version 1.1;
proxy_read_timeout 3600s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
add_header X-Frontend-Host $host;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
}
listen [::]:80; # managed by Certbot
}Nun den Browser öffnen und collabora.mydomain.com aufrufen. Wenn Collabora korrekt läuft, sollte Folgendes angezeigt werden:
OKIn Nextcloud zu https://nextcloud.mydomain.com/settings/admin/richdocuments gehen und die URL (und Port) des Collabora Online-Servers setzen auf:
https://admin:[email protected]Sicherstellen, dass das eigene Passwort aus .env und die eigene Domain verwendet werden!
Auf Save klicken und dann sollte Collabora Online server is reachable angezeigt werden:
