Collabora CODE Docker + NGINX + Nextcloud iOS proxy error Writer version 25 attempt #2

Hello,
After installing CODE on my server and using Nextcloud as collaboration platform I have a strange error.
When using version 25 from Collabora I get a proxy error when opening an text document on my iPhone. Browser works (even on iPhone), iPad works.
When using latest 24 version I have no proxy error.
Very strange!

Logging:

collabora docker log

collabora    | wsd-00001-00032 2025-05-08 17:12:00.540893 +0200 [ websrv_poll ] WRN  Client - server version mismatch, disabling browser cache. Expected: f22c9fed45; Actual URI path with version hash: /browser/663fe346b8/cool.html| wsd/FileServer.cpp:913
collabora    | frk-00024-00024 2025-05-08 17:12:00.619202 +0200 [ 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:587
collabora    | kit-00038-00038 2025-05-08 17:12:00.866590 +0200 [ kit_spare_005 ] ERR  Failed to get the realpath of [/opt/cool/child-roots/1-96edd940/tmp/sharedpresets/template] (ENOENT: No such file or directory)| common/FileUtil.cpp:284
collabora    | kit-00038-00038 2025-05-08 17:12:00.866682 +0200 [ kit_spare_005 ] ERR  linkOrCopy: nftw() failed for '/opt/cool/child-roots/1-96edd940/tmp/sharedpresets/template'| kit/Kit.cpp:600
collabora    | wsd-00001-00032 2025-05-08 17:12:00.916333 +0200 [ websrv_poll ] WRN  Client - server version mismatch, disabling browser cache. Expected: f22c9fed45; Actual URI path with version hash: /browser/663fe346b8/src/layer/tile/TileWorker.js| wsd/FileServer.cpp:913
collabora    | wsd-00001-00032 2025-05-08 17:12:00.988417 +0200 [ websrv_poll ] WRN  Client - server version mismatch, disabling browser cache. Expected: f22c9fed45; Actual URI path with version hash: /browser/663fe346b8/src/layer/tile/CanvasTileUtils.js| wsd/FileServer.cpp:913

nextcloud log

app_1    | 192.168.16.1 - herwarth [08/May/2025:15:14:27 +0000] "POST /ocs/v2.php/apps/richdocuments/api/v1/document HTTP/1.1" 200 927 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/richdocuments/direct/R53ArkvqNt8miqcHBIyV5h1nLGL83P4kJiqClra9pXRGJZAiYKzGltsJdSbtdciV HTTP/1.1" 200 11780 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/core-files_fileinfo.js?v=a3a7f6f2-0 HTTP/1.1" 200 1028 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/updatenotification-init.js?v=a3a7f6f2-0 HTTP/1.1" 200 2807 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/firstrunwizard/css/firstrunwizard-style.css?v=44cedaf8-0 HTTP/1.1" 200 6443 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/css/default.css?v=3e1e18ef-0 HTTP/1.1" 200 2172 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /core/css/server.css?v=a3a7f6f2-0 HTTP/1.1" 200 19637 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/files_sharing-main.js?v=a3a7f6f2-0 HTTP/1.1" 200 796 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/js/theming.js?v=a3a7f6f2-0 HTTP/1.1" 200 720 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/files-reference-files.js?v=a3a7f6f2-0 HTTP/1.1" 200 17535 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/firstrunwizard/js/firstrunwizard-about.mjs?v=a3a7f6f2-0 HTTP/1.1" 200 1059 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/core-ajax-cron.js?v=a3a7f6f2-0 HTTP/1.1" 200 1770 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/light-highcontrast.css?plain=0&v=b57a0520 HTTP/1.1" 200 2102 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/default.css?plain=1&v=b57a0520 HTTP/1.1" 200 2024 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/light.css?plain=1&v=b57a0520 HTTP/1.1" 200 2024 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/core-files_client.js?v=a3a7f6f2-0 HTTP/1.1" 200 4780 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/icons.css HTTP/1.1" 200 39001 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/firstrunwizard/js/modulepreload-polyfill-Cp76Uzro.chunk.mjs HTTP/1.1" 200 1478 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /custom_apps/richdocuments/js/richdocuments-reference.js?v=a3a7f6f2-0 HTTP/1.1" 200 318734 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/opendyslexic.css?plain=0&v=b57a0520 HTTP/1.1" 200 1144 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/light.css?plain=0&v=b57a0520 HTTP/1.1" 200 2046 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/core-main.js?v=a3a7f6f2-0 HTTP/1.1" 200 292691 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /custom_apps/richdocuments/js/richdocuments-document.js?v=a3a7f6f2-0 HTTP/1.1" 200 248403 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/dark-highcontrast.css?plain=0&v=b57a0520 HTTP/1.1" 200 2131 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/dark.css?plain=0&v=b57a0520 HTTP/1.1" 200 2043 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /js/core/merged-template-prepend.js?v=a3a7f6f2-0 HTTP/1.1" 200 3734 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/dark.css?plain=1&v=b57a0520 HTTP/1.1" 200 2021 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /dist/core-common.js?v=a3a7f6f2-0 HTTP/1.1" 200 1045850 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/light-highcontrast.css?plain=1&v=b57a0520 HTTP/1.1" 200 2080 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/img/background/jenna-kim-the-globe.webp HTTP/1.1" 200 99361 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:27 +0000] "GET /apps/theming/theme/dark-highcontrast.css?plain=1&v=b57a0520 HTTP/1.1" 200 2108 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:28 +0000] "GET /cron.php HTTP/1.1" 200 694 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:28 +0000] "GET /index.php/apps/richdocuments/wopi/files/1712_ocpzi9sa9ghp?access_token=2WmL9gzJBbYwComzcJpiuZTSPglwfXkU&access_token_ttl=0 HTTP/1.1" 200 2542 "-" "COOLWSD HTTP Agent 25.04.1.1"
app_1    | 192.168.16.1 - - [08/May/2025:15:14:28 +0000] "GET /index.php/apps/richdocuments/wopi/files/1712_ocpzi9sa9ghp/contents?access_token=2WmL9gzJBbYwComzcJpiuZTSPglwfXkU&access_token_ttl=0 HTTP/1.1" 200 12640 "-" "COOLWSD HTTP Agent 25.04.1.1"

nginx log

nginx_remote | 172.16.0.123 - - [08/May/2025:15:16:46 +0000] "GET /status.php HTTP/2.0" 200 170 "-" "Nextcloud/6.6.2 (it.twsweb.Nextcloud; build:2; iOS 18.4.1) Alamofire/5.10.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:46 +0000] "GET /ocs/v2.php/cloud/users/7fda7172-771c-103d-8e0e-85c9ad7e5249 HTTP/2.0" 200 525 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:47 +0000] "REPORT /remote.php/dav/files/7fda7172-771c-103d-8e0e-85c9ad7e5249 HTTP/2.0" 207 156 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:47 +0000] "GET /ocs/v1.php/cloud/capabilities HTTP/2.0" 200 3682 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:47 +0000] "GET /index.php/avatar/7fda7172-771c-103d-8e0e-85c9ad7e5249/384 HTTP/2.0" 304 0 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:47 +0000] "GET /ocs/v2.php/apps/files/api/v1/directEditing HTTP/2.0" 200 329 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:47 +0000] "GET /ocs/v2.php/apps/recommendations/api/v1/recommendations HTTP/2.0" 200 581 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:47 +0000] "GET /ocs/v2.php/apps/user_status/api/v1/user_status HTTP/2.0" 200 176 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:47 +0000] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/2.0" 200 81 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:16:47 +0000] "PROPFIND /remote.php/dav/files/7fda7172-771c-103d-8e0e-85c9ad7e5249/Documents/Blank.odt HTTP/2.0" 207 911 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - - [08/May/2025:15:17:29 +0000] "GET /status.php HTTP/2.0" 200 170 "-" "Nextcloud/6.6.2 (it.twsweb.Nextcloud; build:2; iOS 18.4.1) Alamofire/5.10.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:17:29 +0000] "GET /ocs/v2.php/cloud/users/7fda7172-771c-103d-8e0e-85c9ad7e5249 HTTP/2.0" 200 525 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"
nginx_remote | 172.16.0.123 - herwarth [08/May/2025:15:17:29 +0000] "REPORT /remote.php/dav/files/7fda7172-771c-103d-8e0e-85c9ad7e5249 HTTP/2.0" 207 156 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/6.6.2" "-"

Hello @herwarth

Your issue is likely a combination of two things:

  1. Outdated or corrupted CODE cache in the iOS app WebView, causing version hash mismatches (as noted in the logs).
  2. A change in how CODE 25 handles internal paths or permissions (e.g., stricter handling of template paths or shared presets).

The fact that it works in the browser, but not in the iOS Nextcloud app, suggests that this is not a fundamental proxy or network issue, but likely an issue in how CODE is served or initialized within the embedded WebView of the iOS app.

Suggested Fixes:

1. Force Clear CODE Cache in Nextcloud iOS App

  • Open the iOS Settings app → scroll down to Nextcloud → enable any “Clear cache” or reset toggles (if available).
  • Alternatively, delete and reinstall the Nextcloud app to reset any cached cool.html files.

2. Rebuild or Update the Systemplate

Ensure the systemplate is consistent and not stale:

docker exec <container_id_or_name> /opt/cool/bin/update-systemplate.sh

This should eliminate the /opt/cool/systemplate warnings and ensure runtime file expectations are met.

Thanks
Darshan

Nextcloud clear cache does nothing.

/opt/cool/bin does not exsist in collabora container.

OCI runtime exec failed: exec failed: unable to start container process: exec: "/opt/cool/bin/update-systemplate.sh": stat /opt/cool/bin/update-systemplate.sh: no such file or directory: unknown
root@docker2:~# docker exec -ti collabora bash
cool@8c840563d6a2:/$ cd /opt/co
collaboraoffice/ cool/
cool@8c840563d6a2:/$ cd /opt/cool/bin
bash: cd: /opt/cool/bin: No such file or directory