Skip to main navigation Zum Hauptinhalt springen Skip to page footer

Collabora Server mit Docker Compose einrichten

|   Linux

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 

Zurück