Collabora Server mit Docker Compose einrichten
Da der interne Collabora Server in Nextcloud nicht zuverlässig funktioniert, weicht man besser auf einen externen virtuellen Server mit Ubuntu und Docker aus – funktioniert allerdings nur wenn Collabora Docker Image mit der Version 25.04.5.3.1 genutzt wird – die aktuelleste Version erzeugt im Moment noch die Fehlermeldungen “Slow Kit jail setup with copying, cannot bind-mount” und “Dokumente sind nicht wirklich enthalten: fehlende Funktionen oder Namensräume” im Backend wenn man Dokumente öffnet und ChatGPT kennt die Lösung dafür auch nicht wirklich ;)
Folgende Konfiguration ist getestet und funktioniert – hier Beispiel Hetzner:
Virtuellen Server mit 4 CPUs und 8GB RAM anlegen (ansonsten bekommt man eine Fehlermeldung wegen unzureichender Leistung)
Dann Repositories für Docker und Compose einbinden:
Abhängigkeiten installieren
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
Docker Engine + Compose installieren
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Ein Verzeichnis erstellen:
sudo mkdir -p /opt/collabora
cd /opt/collabora
Konfigurationsdatei docker-compose.yml anlegen
networks:
nginx-proxy:
external: false
services:
# --- Reverse Proxy ---
nginx-proxy:
image: jwilder/nginx-proxy:latest
container_name: nginx-proxy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /etc/nginx/certs:/etc/nginx/certs:rw
- /etc/nginx/vhost.d
- /usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- nginx-proxy
# --- Let's Encrypt Companion ---
nginx-proxy-acme:
image: nginxproxy/acme-companion:latest
container_name: nginx-proxy-acme
restart: always
environment:
- NGINX_PROXY_CONTAINER=nginx-proxy
- DEFAULT_EMAIL=admin@domain.tld
volumes_from:
- nginx-proxy
volumes:
- /etc/nginx/certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
- nginx-proxy
networks:
- nginx-proxy
# --- Collabora Online ---
collabora_online:
image: collabora/code:25.04.5.3.1
container_name: collabora_online
restart: always
environment:
- VIRTUAL_HOST=collabora.nextcloud.domain.tld
- LETSENCRYPT_HOST=collabora.nextcloud.domain.tld
- LETSENCRYPT_EMAIL=admin@domain.tld
- domain=nextcloud\\.domain\\.tld
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:storage.wopi.localfs.extended=true --o:welcome.enable=false --o:logging.level=error
cap_add:
- MKNOD
- SYS_ADMIN
networks:
- nginx-proxy
Anschließend Docker im Konfigurationsverzeichnis starten:
docker compose up -d