rettich
11. Dezember 2020 um 20:11
1
Hallo zusammen,
ich habe auf meinem Dockerhost nextcloud mit dem eingebauten Collabora-CODE installiert.
Bis zum Update von Collabora-CODE lief eigentlich alles gut. Seit dem Update kann sich die NC nicht mehr mit dem Collabore-CODE verbinden. Zumindest mal wird das im Einstellungsdialog von Collabore Online gesagt.
Zu Testen habe ich mit dem folgenden docker-compose.yml habe ich eine neue NC aufgesetzt:
version: '3'
services:
db2:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=geheim
env_file:
- db.env
redis2:
image: redis:alpine
restart: always
app2:
build:
context: .
dockerfile: Dockerfile
restart: always
ports:
- 7770:80
volumes:
- ./nextcloud:/var/www/html
environment:
- MYSQL_HOST=db2
- REDIS_HOST=redis2
env_file:
- db.env
depends_on:
- db2
- redis2
cron2:
build:
context: .
dockerfile: Dockerfile
restart: always
volumes:
- ./nextcloud:/var/www/html
entrypoint: /cron.sh
depends_on:
- db2
- redis2
volumes:
db:
nextcloud:
Im Dockerfile steht:
FROM nextcloud:latest
RUN apt-get update && apt-get install -y procps smbclient && rm -rf /var/lib/apt/lists/*
Dadurch installiert sich eine neue NC die auch gut funktioniert. Nur leider ohne funktionierendes Collabora.
Kann mir jemand einen Tipp geben?
Schon mal vielen Dank für’s Mitdenken.
Gruß,
Mathias
rettich
12. Dezember 2020 um 14:32
2
Hallo zusammen,
ich hab das Problem jetzt so gelöst, dass ich Collabora-CODE als eigenständigen Container aufgesetzt habe.
Das ist meine docker-compose.yml
:
version: '2.2'
services:
collabora:
image: collabora/code
ports:
- 127.0.0.1:9980:9980
cap_add:
- MKNOD
environment:
- domain=nextcloud.staufer-gymnasium.de
- VIRTUAL_HOST=office.staufer-gymnasium.de
- VIRTUAL_NETWORK=proxy-ssl
- VIRTUAL_PORT=9980
- VIRTUAL_PROTO=https
Und das ist `office.staufer-gymnasium.de` für den Proxy nginx:
server {
listen 80;
listen [::]:80;
server_name office.staufer-gymnasium.de;
location ^~ /.well-known/acme-challenge {
alias /var/www/dehydrated;
}
}
server {
listen 443 ssl;
server_name office.staufer-gymnasium.de;
add_header X-XSS-Protection "1; mode=block"; #Wenn es nicht geht, notfalls deaktivieren
ssl_certificate /var/lib/dehydrated/certs/office.staufer-gymnasium.de/fullchain.pem;
ssl_certificate_key /var/lib/dehydrated/certs/office.staufer-gymnasium.de/privkey.pem;
# static files
location ^~ /loleaflet {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}
# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}
# Capabilities
location ^~ /hosting/capabilities {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}
# main websocket
location ~ ^/lool/(.*)/ws$ {
proxy_pass https://localhost: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 ~ ^/lool {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}
# Admin Console websocket
location ^~ /lool/adminws {
proxy_pass https://localhost:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
}
Ich frag mich nur, warum ich das nicht früher gemacht habe. Im eigenen Container ist das Collabore gefühlt doppelt so schnell, wie die interne Nextcloud-Version, als sie noch funktioniert hat. Und das, obwohl sie auf der gleichen Maschiene läuft.
Vielleicht, liegt’s aber auch daran, dass die neue Version einfach schneller ist.
Gruß,
Mathias