Collabora + Nextcloud with Pangolin doesnt work

I have read other topics … and also the new treafik bug with symbols like ? in url

NEXTCLOUD

I have nextcloud latest in a docker container accessible thru https://nextcloud.domain.fr thanks to pangolin

it works great

COLLABORA

i have collabora code latest in a docker container on the same host accessible thru https://collabora.domain.fr

the url returns OK as expected

i can connect to the admin page…

it works too…

NEXTCLOUD OFFICE

Nextcloud office settings connects to collabora at https://collabora.domain.fr

All is green

i have collabora.domain.fr set in nextcloud office wopi

i also tried

  • 0.0.0.0/0,
  • host local IP 192.168…,
  • 192.168.0.0/16
  • ?

RESULTS

unable to edit office documents!

i got:

Échec du chargement du document

Hôte WOPI non autorisé. Veuillez essayer de nouveau plus tard et en faire part à votre administrateur si le problème persiste.

COLLABORA LOGS

Ready to accept connections on port 9980.
frk-00016-00016 2026-01-12 14:17:18.304081 +0000 [ forkit ] INF Forked kit [21]| kit/ForKit.cpp:573
frk-00016-00016 2026-01-12 14:17:18.304137 +0000 [ forkit ] TRC Forking child took 4ms| kit/ForKit.cpp:584
frk-00016-00016 2026-01-12 14:17:18.304148 +0000 [ forkit ] INF Forkit initialization complete: setting log-level to [warning] as configured.| kit/ForKit.cpp:1055
frk-00016-00016 2026-01-12 14:17:19.259529 +0000 [ forkit ] WRN The systemplate directory [/opt/cool/systemplate] is read-only, and at least [/opt/cool/systemplate//etc/passwd] is out-of-date. Will have to clone dynamic elements of systemplate to the jails. To restore optimal performance, make sure the files in [/opt/cool/systemplate/etc] are up-to-date.| common/JailUtil.cpp:586
frk-00016-00016 2026-01-12 14:17:19.264579 +0000 [ forkit ] WRN The systemplate directory [/opt/cool/systemplate] is read-only, and at least [/opt/cool/systemplate//etc/passwd] is out-of-date. Will have to clone dynamic elements of systemplate to the jails. To restore optimal performance, make sure the files in [/opt/cool/systemplate/etc] are up-to-date.| common/JailUtil.cpp:586
frk-00016-00016 2026-01-12 14:17:19.269217 +0000 [ forkit ] WRN The systemplate directory [/opt/cool/systemplate] is read-only, and at least [/opt/cool/systemplate//etc/passwd] is out-of-date. Will have to clone dynamic elements of systemplate to the jails. To restore optimal performance, make sure the files in [/opt/cool/systemplate/etc] are up-to-date.| common/JailUtil.cpp:586
kit-00021-00021 2026-01-12 14:17:19.256158 +0000 [ kit_spare_001 ] TRC #17: Set socket buffer size to 262144| net/Socket.hpp:303
kit-00021-00021 2026-01-12 14:17:19.256160 +0000 [ kit_spare_001 ] INF New kit client websocket inserted.| kit/Kit.cpp:3990
kit-00021-00021 2026-01-12 14:17:19.256162 +0000 [ kit_spare_001 ] INF Kit initialization complete: setting log-level to [warning] as configured.| kit/Kit.cpp:4004
wsd-00001-00024 2026-01-12 14:17:20.083140 +0000 [ websrv_poll ] ERR FileServerRequestHandler::NotAuthenticated: No authentication information found| wsd/FileServer.cpp:1163
wsd-00001-00024 2026-01-12 14:17:27.444666 +0000 [ websrv_poll ] ANY Admin logged in with source IPAddress [::ffff:172.19.0.1]| wsd/FileServer.cpp:2518
wsd-00001-00015 2026-01-12 14:17:19.256726 +0000 [ prisoner_poll ] TRC ppoll start, timeoutMicroS: 17048028 size 3| net/Socket.cpp:534
wsd-00001-00024 2026-01-12 14:17:36.587383 +0000 [ websrv_poll ] ANY Admin logged in with source IPAddress [::ffff:172.19.0.1]| wsd/FileServer.cpp:2518
wsd-00001-00024 2026-01-12 14:17:37.240014 +0000 [ websrv_poll ] ANY Admin logged in with source IPAddress [::ffff:172.19.0.1]| wsd/FileServer.cpp:2518
wsd-00001-00024 2026-01-12 14:17:38.100466 +0000 [ websrv_poll ] ANY Admin logged in with source IPAddress [::ffff:172.19.0.1]| wsd/FileServer.cpp:2518
wsd-00001-00024 2026-01-12 14:17:38.694762 +0000 [ websrv_poll ] ANY Admin logged in with source IPAddress [::ffff:172.19.0.1]| wsd/FileServer.cpp:2518
wsd-00001-00024 2026-01-12 14:18:40.187279 +0000 [ websrv_poll ] WRN FileServerRequestHandler: File not found: Invalid URI request (hash): [/browser/278cb3481b/l10n.js].| wsd/FileServer.cpp:1175
wsd-00001-00024 2026-01-12 14:18:40.266713 +0000 [ websrv_poll ] WRN Client - server version mismatch, disabling browser cache. Expected: 278cb3481b; Actual URI path with version hash: /browser/dist/fetch-settings-config| wsd/FileServer.cpp:909
wsd-00001-00024 2026-01-12 14:18:40.579155 +0000 [ websrv_poll ] WRN Client - server version mismatch, disabling browser cache. Expected: 278cb3481b; Actual URI path with version hash: /browser/dist/fetch-settings-file| wsd/FileServer.cpp:909
wsd-00001-00024 2026-01-12 14:18:40.582202 +0000 [ websrv_poll ] ERR #32: #32 Exception while processing incoming request: : Integrator wopi call failed: Moved Permanently. Response: Moved Permanently| wsd/ClientRequestDispatcher.cpp:1270
wsd-00001-00024 2026-01-12 14:19:50.864412 +0000 [ websrv_poll ] ERR #31: WOPI::CheckFileInfo returned403 (Forbidden) Forbidden for URI [https://nextcloud.domain.fr/index.php/apps/richdocuments/wopi/files/55_ocdrgf76jvnn?access_token=wGuNsB49GMqg03OoXh5hnDj18FIgZAHy&access_token_ttl=0\]. Headers: Cache-Control: no-cache, no-store, must-revalidate / Content-Length: 2 / Content-Security-Policy: default-src ‘none’;base-uri ‘none’;manifest-src ‘self’;frame-ancestors ‘none’ / Content-Type: application/json; charset=utf-8 / Date: Mon, 12 Jan 2026 14:19:50 GMT / Feature-Policy: autoplay ‘none’;camera ‘none’;fullscreen ‘none’;geolocation ‘none’;microphone ‘none’;payment ‘none’ / Referrer-Policy: no-referrer / Server: Apache/2.4.65 (Debian) / Set-Cookie: ocdrgf76jvnn=12efda487cc4d3225038b88c65b68aa9; path=/; HttpOnly; SameSite=Lax / X-Content-Type-Options: nosniff / X-Frame-Options: SAMEORIGIN / X-Permitted-Cross-Domain-Policies: none / X-Powered-By: PHP/8.3.29 / X-Request-Id: Tg3PStu7ud7AHOoxzarp / X-Robots-Tag: noindex, nofollow Body: []| wsd/wopi/CheckFileInfo.cpp:103
wsd-00001-00024 2026-01-12 14:19:50.864435 +0000 [ websrv_poll ] ERR #31: Access denied to CheckFileInfo [https://nextcloud.domain.fr/index.php/apps/richdocuments/wopi/files/55_ocdrgf76jvnn?access_token=wGuNsB49GMqg03OoXh5hnDj18FIgZAHy&access_token_ttl=0\]| wsd/wopi/CheckFileInfo.cpp:115
wsd-00001-00024 2026-01-12 14:20:01.023730 +0000 [ websrv_poll ] WRN FileServerRequestHandler: File not found: Invalid URI request (hash): [/browser/278cb3481b/l10n.js].| wsd/FileServer.cpp:1175
wsd-00001-00024 2026-01-12 14:20:01.101148 +0000 [ websrv_poll ] WRN Client - server version mismatch, disabling browser cache. Expected: 278cb3481b; Actual URI path with version hash: /browser/dist/fetch-settings-config| wsd/FileServer.cpp:909
wsd-00001-00024 2026-01-12 14:20:01.238817 +0000 [ websrv_poll ] ERR Failed to fetch wopi settings config from WopiHost[https://nextcloud.domain.fr/apps/richdocuments/wopi/settings?access_token=qJNejagQMoREdELMV2cPc3D1kfmNOUnr&fileId=-1&type=systemconfig\] with status[Forbidden]| wsd/FileServer.cpp:2161
wsd-00001-00024 2026-01-12 14:20:24.909170 +0000 [ websrv_poll ] ERR #30: WOPI::CheckFileInfo returned403 (Forbidden) Forbidden for URI [https://nextcloud.domain.fr/index.php/apps/richdocuments/wopi/files/55_ocdrgf76jvnn?access_token=ZmqtCZvcWEEMnqSjAPqTTtPRnb1L2Jsc&access_token_ttl=0\]. Headers: Cache-Control: no-cache, no-store, must-revalidate / Content-Length: 2 / Content-Security-Policy: default-src ‘none’;base-uri ‘none’;manifest-src ‘self’;frame-ancestors ‘none’ / Content-Type: application/json; charset=utf-8 / Date: Mon, 12 Jan 2026 14:20:24 GMT / Feature-Policy: autoplay ‘none’;camera ‘none’;fullscreen ‘none’;geolocation ‘none’;microphone ‘none’;payment ‘none’ / Referrer-Policy: no-referrer / Server: Apache/2.4.65 (Debian) / Set-Cookie: ocdrgf76jvnn=22fb1f592a505355cf772cb9f920d3c1; path=/; HttpOnly; SameSite=Lax / X-Content-Type-Options: nosniff / X-Frame-Options: SAMEORIGIN / X-Permitted-Cross-Domain-Policies: none / X-Powered-By: PHP/8.3.29 / X-Request-Id: LqCU1FQEmRuVUUciZ8f6 / X-Robots-Tag: noindex, nofollow Body: []| wsd/wopi/CheckFileInfo.cpp:103
wsd-00001-00024 2026-01-12 14:20:24.909194 +0000 [ websrv_poll ] ERR #30: Access denied to CheckFileInfo [https://nextcloud.domain.fr/index.php/apps/richdocuments/wopi/files/55_ocdrgf76jvnn?access_token=ZmqtCZvcWEEMnqSjAPqTTtPRnb1L2Jsc&access_token_ttl=0\]| wsd/wopi/CheckFileInfo.cpp:115
wsd-00001-00024 2026-01-12 14:20:33.337985 +0000 [ websrv_poll ] WRN FileServerRequestHandler: File not found: Invalid URI request (hash): [/browser/278cb3481b/l10n.js].| wsd/FileServer.cpp:1175
wsd-00001-00024 2026-01-12 14:20:33.426482 +0000 [ websrv_poll ] WRN Client - server version mismatch, disabling browser cache. Expected: 278cb3481b; Actual URI path with version hash: /browser/dist/fetch-settings-config| wsd/FileServer.cpp:909
wsd-00001-00024 2026-01-12 14:20:33.619180 +0000 [ websrv_poll ] ERR Failed to fetch wopi settings config from WopiHost[https://nextcloud.domain.fr/apps/richdocuments/wopi/settings?access_token=LMrImJ7YesCujXWwZzYt9LEhzn7mjd49&fileId=-1&type=systemconfig\] with status[Forbidden]| wsd/FileServer.cpp:2161

You can see ERROR at [ websrv_poll ] ERR #30: Access denied to CheckFileInfo

there are also some http instead of https ??

my traefik setting are forcing https …

I think it has something to do with: (collabora logs)

wsd-00001-00024 2026-01-13 17:49:57.793082 +0000 [ websrv_poll ] ERR Failed to get settings json from [http://nextcloud.surmabox.fr/index.php/apps/richdocuments/wopi/settings?type=systemconfig&access_token=Q03oGApbm9ya3T1sUwk03JDdXyZP9cYu&fileId=-1\] with status[Moved Permanently]| wsd/DocumentBroker.cpp:1998

what is status[Moved Permanently] ??

because nextcloud logs says:

192.168.1.254 - - [13/Jan/2026:18:51:54 +0100] “GET /index.php/apps/richdocuments/wopi/settings?type=systemconfig&access_token=Q03oGApbm9ya3T1sUwk03JDdXyZP9cYu&fileId=-1 HTTP/1.1” 200 750 “-” “Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36”

with return code 200 that means OK

I guess [Moved Permanently] is related to the fact that http is moved to https …

so the question is : why collabora does not use https to call nextcloud ??

see Nextcloud/(Collabora Code Server (websocket) no longer served after upgrade to 1.14.1 · Issue #2223 · fosrl/pangolin · GitHub

thanks cyfrax,

i already saw this and it is not a solution…

i saw another info related to traefik : by rolling back to traefik 3.6.0 it should works BUT it doesnt work…

This guy : Marc Gorzala
here:
https://project.dancier.net/documentation/howto/nextcloud/index.html
give me the solution !!!

these changes are mandatory to nextcloud, unless collabora does not work:

‘overwritehost’ => ‘cloud.dancier.net’,
‘overwriteprotocol’ => ‘https’,
‘overwrite.cli.url’ => ‘https://cloud.dancier.net’,