Collabora Office not working with AIO image

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 32.0.3
  • Operating system and version (e.g., Ubuntu 24.04):
    • Ubuntu 24.04
  • Web server and version (e.g, Apache 2.4.25):
    • Apache/2.4.66
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • Caddy 2.10
  • PHP version (e.g, 8.3):
    • 8.3.28
  • Is this the first time you’ve seen this error? (Yes / No):
    • Yes
  • When did this problem seem to first start?
    • After install
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • AIO+Caddy reverse proxy on another host
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • No

Summary of the issue you are facing:

I’m having issues with Collabora Office on Nextcloud AIO installation.

Steps to replicate it (hint: details matter!):

  1. Setup Nextcloud AIO.

    name: nextcloud-aio
    services:
      nextcloud-aio-mastercontainer:
        image: ghcr.io/nextcloud-releases/all-in-one:20251218_095503
        init: true 
        restart: always
        network_mode: bridge
        environment:
          - APACHE_PORT=11000
          - APACHE_IP_BINDING=0.0.0.0
          - NEXTCLOUD_MEMORY_LIMIT=1024M
        container_name: nextcloud-aio-mastercontainer 
        volumes:
          - nextcloud_aio_mastercontainer:/mnt/docker-aio-config 
          - /var/run/docker.sock:/var/run/docker.sock:ro
        ports:
          - 8080:8080 
    
    volumes:
      nextcloud_aio_mastercontainer:
        name: nextcloud_aio_mastercontainer 
    
  2. Setup Caddy on another host on Docker. cloud.varunpriolkar.com is publicly accessible because this host has a public IP.

    services:
      caddy:
        image: caddy:2.10.2-alpine
        restart: always
        network_mode: host
        cap_add:
          - NET_ADMIN
        volumes:
          - caddy_config:/config
          - caddy_data:/data
        configs:
          - source: caddyfile
            target: /etc/caddy/Caddyfile
    configs:
      caddyfile:
        content: |
          (default) {
            encode
            tls me@varunpriolkar.com
          }
          https://cloud.varunpriolkar.com:443 {
            import default
            reverse_proxy http://192.168.69.21:11000
          }
    
    volumes:
      caddy_config:
      caddy_data:
    
    networks:
      caddy:
    
    
  3. Allow 0.0.0.0/0 in WOPI requests.

  4. I get the following when I try to open a word document in Nextcloud.

Log entries

Nextcloud log

Lots of similar logs

Error
richdocuments
ConnectException
cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://nextcloud-aio-apache:23973/cool/convert-to/png
Failed to convert preview: cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://nextcloud-aio-apache:23973/cool/convert-to/png

Jan 13, 2026, 12:14:38 AM

Collabora container log

015-01764 2026-01-13 00:12:01.711076 -0800 [ subforkit_001 ] 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
wsd-00007-00014 2026-01-13 00:12:01.717273 -0800 [ prisoner_poll ] WRN  Filesystem [/opt/cool/child-roots/7-f0d3307f/.] is dangerously low on disk space| wsd/COOLWSD.cpp:394
frk-00015-01764 2026-01-13 00:12:01.717419 -0800 [ subforkit_001 ] 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-00015-01764 2026-01-13 00:12:01.721879 -0800 [ subforkit_001 ] 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-00015-01764 2026-01-13 00:12:01.725059 -0800 [ subforkit_001 ] 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-00015-01764 2026-01-13 00:12:01.728132 -0800 [ subforkit_001 ] 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
wsd-00007-01763 2026-01-13 00:12:01.837981 -0800 [ docbroker_001 ] ERR  Cannot download document from WOPI storage uri [http://nextcloud-aio-apache:23973/index.php/apps/richdocuments/wopi/files/403_ocktqa3om572/contents?access_token=&access_token_ttl=0]. Error: Low disk space for /opt/cool/child-roots/7-f0d3307f/EKiyA7X3Hpio1TJ1/tmp/user/docs/gbWPpi0wkgy9l9GI/test.docx| wsd/wopi/WopiStorage.cpp:589
wsd-00007-01763 2026-01-13 00:12:01.838019 -0800 [ docbroker_001 ] ERR  Out of storage while loading document with URI [http://nextcloud-aio-apache:23973/index.php/apps/richdocuments/wopi/files/403_ocktqa3om572?access_token=heCsM0tNE5TQ4QwyvMNhKc3N8uRHj972&access_token_ttl=0]| wsd/DocumentBroker.cpp:3884
wsd-00007-01763 2026-01-13 00:12:01.838032 -0800 [ docbroker_001 ] ERR  Disk-Full error while starting session on http%3A%2F%2Fcloud.varunpriolkar.com%3A80%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F403_ocktqa3om572 for socket #34. Terminating connection. Error: Low disk space for /opt/cool/child-roots/7-f0d3307f/EKiyA7X3Hpio1TJ1/tmp/user/docs/gbWPpi0wkgy9l9GI/test.docx| wsd/RequestVettingStation.cpp:565
wsd-00007-01763 2026-01-13 00:12:01.838157 -0800 [ docbroker_001 ] WRN  Cannot forward to unknown ClientSession [004]: getclipboard name=shutdown| wsd/DocumentBroker.cpp:5179
wsd-00007-01763 2026-01-13 00:12:01.843647 -0800 [ docbroker_001 ] WRN  #35: Unassociated Kit (1767) disconnected unexpectedly| wsd/COOLWSD.cpp:2921
wsd-00007-01763 2026-01-13 00:12:01.843661 -0800 [ docbroker_001 ] WRN  #35: Unknown Kit process closed with pid -1| wsd/COOLWSD.cpp:2932
wsd-00007-00013 2026-01-13 00:12:01.876787 -0800 [ asyncdns ] WRN  #46: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.876831 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/xcu/documentView.xcu] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.877248 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.877271 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Ecosystem.odp?identifier=5] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.877644 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.877660 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Elegant.odp?identifier=24] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.878028 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.878044 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Gotong%20royong.odp?identifier=35] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.878409 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.878426 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Modern%20company.odp?identifier=8] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.878782 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.878801 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Nostalgia.odp?identifier=9] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.879176 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.879192 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Onboarding.odp?identifier=46] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.879556 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.879571 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Pitch%20deck.odp?identifier=41] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.879918 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.879935 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Security.odp?identifier=21] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.880288 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.880315 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Simple.odp?identifier=10] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.880674 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.880689 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Triangle.odp?identifier=22] with status[]| wsd/DocumentBroker.cpp:2043
wsd-00007-00013 2026-01-13 00:12:01.881028 -0800 [ asyncdns ] WRN  #32: asyncConnect completed after poll destroyed| net/HttpRequest.hpp:1959
wsd-00007-00013 2026-01-13 00:12:01.881044 -0800 [ asyncdns ] ERR  Failed to fetch preset uri[https://cloud.varunpriolkar.com/apps/richdocuments/settings/userconfig/KID1oPDaHO1luKJ2xXGvDAQQK5iX8Ocq/template/Yellow%20idea.odp?identifier=7] with status[]| wsd/DocumentBroker.cpp:2043
frk-00015-01764 2026-01-13 00:12:06.736247 -0800 [ subforkit_001 ] WRN  Child 1767 was killed, with status 9| kit/ForKit.cpp:352
frk-00015-01764 2026-01-13 00:12:06.736320 -0800 [ subforkit_001 ] WRN  Successfully sent 'segfaultcount' message segfaultcount=0 killedcount=1 oomkilledcount=0

Web Browser

WebSocket connection to 'wss://cloud.varunpriolkar.com/cool/http%3A%2F%2Fnextcloud-aio-apache%3A23973%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F403_ocktqa3om572%3Faccess_token%3DhZ8wxmLRGJBKCHJDqIVhZoXv3fLmJUCF%26access_token_ttl%3D0%26no_auth_header%3D/ws?WOPISrc=http%3A%2F%2Fnextcloud-aio-apache%3A23973%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F403_ocktqa3om572&compat=/ws' failed: Data frame received after close
global.createWebSocket @ global.js:1
(anonymous) @ global.js:1
(anonymous) @ global.js:1
preview:1  GET https://cloud.varunpriolkar.com/core/preview?fileId=665&x=250&y=250 404 (Not Found)

preview:1  GET https://cloud.varunpriolkar.com/core/preview?fileId=525&x=250&y=250 404 (Not Found)
I
(anonymous) @ recommendations-main.js?v=189fb0e2-0:1
RecommendedFile.vue:138 could not load recommendation preview Event {isTrusted: true, type: 'error', target: img, currentTarget: img, eventPhase: 2, …}
(anonymous) @ RecommendedFile.vue:138
preview:1  GET https://cloud.varunpriolkar.com/core/preview?fileId=549&x=250&y=250 404 (Not Found)

preview:1  GET https://cloud.varunpriolkar.com/core/preview?fileId=403&x=250&y=250 404 (Not Found)

preview:1  GET https://cloud.varunpriolkar.com/core/preview?fileId=509&x=250&y=250 404 (Not Found)

Web server / Reverse Proxy

I don’t have access logging enabled since this is a production public facing server. There is nothing useful here with current logs.

I can turn on access logs if required.

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

{
    "system": {
        "one-click-instance": true,
        "one-click-instance.user-limit": 100,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "check_data_directory_permissions": false,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "overwritehost": "cloud.varunpriolkar.com",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "cloud.varunpriolkar.com"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "32.0.3.2",
        "overwrite.cli.url": "https:\/\/cloud.varunpriolkar.com\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "updatechecker": false,
        "loglevel": 2,
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "log_rotate_size": 10485760,
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "jpeg_quality": 60,
        "enabledPreviewProviders": {
            "1": "OC\\Preview\\Image",
            "2": "OC\\Preview\\MarkDown",
            "3": "OC\\Preview\\MP3",
            "4": "OC\\Preview\\TXT",
            "5": "OC\\Preview\\OpenDocument",
            "6": "OC\\Preview\\Movie",
            "7": "OC\\Preview\\Krita",
            "0": "OC\\Preview\\Imaginary",
            "23": "OC\\Preview\\ImaginaryPDF"
        },
        "enable_previews": true,
        "upgrade.disable-web": true,
        "mail_smtpmode": "smtp",
        "trashbin_retention_obligation": "auto, 30",
        "versions_retention_obligation": "auto, 30",
        "activity_expire_days": 30,
        "simpleSignUpLink.shown": false,
        "share_folder": "\/Shared",
        "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
        "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
        "updatedirectory": "\/nc-updater",
        "maintenance_window_start": 100,
        "allow_local_remote_servers": true,
        "davstorage.request_timeout": 3600,
        "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
        "htaccess.RewriteBase": "\/",
        "dbpersistent": false,
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "files_external_allow_create_new_local": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "1587",
        "config_preset": 1,
        "DOMAIN": "cloud.varunpriolkar.com"
    }
}

Apps

root@docker-1:/home/varun/docker/nextcloud# sudo docker exec -it nextcloud-aio-nextcloud /var/www/html/occ app:list
Enabled:
  - activity: 5.0.0-dev.0
  - admin_audit: 1.22.0
  - app_api: 32.0.0
  - bruteforcesettings: 5.0.0-dev.0
  - calendar: 6.1.4
  - circles: 32.0.0
  - cloud_federation_api: 1.16.0
  - comments: 1.22.0
  - contacts: 8.2.0
  - contactsinteraction: 1.13.1
  - dashboard: 7.12.0
  - dav: 1.34.2
  - deck: 1.16.3
  - federatedfilesharing: 1.22.0
  - federation: 1.22.0
  - files: 2.4.0
  - files_downloadlimit: 5.0.0-dev.0
  - files_fulltextsearch: 32.0.2
  - files_pdfviewer: 5.0.0-dev.0
  - files_reminders: 1.5.0
  - files_sharing: 1.24.1
  - files_trashbin: 1.22.0
  - files_versions: 1.25.0
  - firstrunwizard: 5.0.0-dev.0
  - fulltextsearch: 32.0.0
  - fulltextsearch_elasticsearch: 32.0.2
  - integration_oidc: 0.1.6
  - logreader: 5.0.0-dev.0
  - lookup_server_connector: 1.20.0
  - nextcloud-aio: 0.8.0
  - nextcloud_announcements: 4.0.0-dev.0
  - notes: 4.12.4
  - notifications: 5.0.0-dev.0
  - notify_push: 1.3.0
  - oauth2: 1.20.0
  - password_policy: 4.0.0-dev.0
  - photos: 5.0.0-dev.1
  - privacy: 4.0.0-dev.0
  - profile: 1.1.0
  - provisioning_api: 1.22.0
  - recommendations: 5.0.0-dev.0
  - related_resources: 3.0.0-dev.0
  - richdocuments: 9.0.2
  - serverinfo: 4.0.0-dev.0
  - settings: 1.15.1
  - sharebymail: 1.22.0
  - support: 4.0.0-dev.0
  - survey_client: 4.0.0-dev.0
  - systemtags: 1.22.0
  - tasks: 0.17.1
  - text: 6.0.1
  - theming: 2.7.0
  - twofactor_backupcodes: 1.21.0
  - twofactor_totp: 14.0.0
  - updatenotification: 1.22.0
  - user_status: 1.12.0
  - viewer: 5.0.0-dev.0
  - weather_status: 1.12.0
  - webhook_listeners: 1.3.0
  - whiteboard: 1.5.0
  - workflowengine: 2.14.0
Disabled:
  - encryption: 2.20.0
  - files_external: 1.24.0
  - suspicious_login: 10.0.0-dev.0
  - twofactor_nextcloud_notification: 6.0.0-dev.0
  - user_ldap: 1.23.0

please review all-in-one/reverse-proxy.md at main · nextcloud/all-in-one · GitHub for reverse proxy setup instruction in AiO. from you logs it clear the CODE container can not access the URL https://cloud.varunpriolkar.com/apps/richdocuments/... and your browser can’t open WebSocket to wss://cloud.varunpriolkar.com/cool/

  1. Please double check networking inside of the container - how requests between CODE and Nextcloud are routed. review Collabora integration guide for implementation details..
  2. once https access works review if Websocket is enabled/allowed in the reverse proxy.

Thank you for the reply.

please review all-in-one/reverse-proxy.md at main · nextcloud/all-in-one · GitHub for reverse proxy setup instruction in AiO

  1. once https access works review if Websocket is enabled/allowed in the reverse proxy.

I did. My caddy config is exactly as per instructions. Caddy does websockets by default.

Please double check networking inside of the container - how requests between CODE and Nextcloud are routed. review Collabora integration guide for implementation details..

The webUI settings are default for the AIO install.

root@docker-1:/home/varun/docker/nextcloud# sudo docker exec -it nextcloud-aio-collabora sh -c “curl -I https://cloud.varunpriolkar.com/status.php”
HTTP/2 200
access-control-allow-origin: *
alt-svc: h3=“:443”; ma=2592000
content-security-policy: default-src ‘self’; script-src ‘self’ ‘nonce-5q/sK6snRKWVerrOlvJtNC2VZkRPqx6WTrxeyQvKyXE=’; style-src ‘self’ ‘unsafe-inline’; frame-src *; img-src * data: blob:; font-src ‘self’ data:; media-src *; connect-src *; object-src ‘none’; base-uri ‘self’;
content-type: application/json
date: Tue, 13 Jan 2026 17:45:05 GMT
referrer-policy: no-referrer
set-cookie: __Host-nc_sameSiteCookielax=true; path=/; httponly;secure; expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=lax
set-cookie: __Host-nc_sameSiteCookiestrict=true; path=/; httponly;secure; expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=strict
strict-transport-security: max-age=31536000;
via: 1.1 Caddy
via: 1.1 Caddy
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-robots-tag: noindex, nofollow

As you can see Nextcloud is reachable from Collabora docker and the webUI says Collabora Online Server is reachable.

Let me know if I should provide logs on something.

Thanks.

I see in your screenshot, thar collabora talks to Nectcloud on

http://nextcloud-aio-apache:23793

but not on “https
What about your SSL-certificate, is it a signed (f.ex. by Letsencrypt) or self-signed?

it’s not really wrong and it is plain http://. this internal URL is AiO voodoo to avoid internet loop.. kind of ugly splitbraindns workaround.. see Local access for Collabora and referenced Github issue for details..

but thank you pointing my attention to this URL. I think the problem is you have wrong value configured for CODE to access Nextcloud

which results in wrong document URL:

From my understanding it must be

source destination
Nextcloud nextcloud-aio-apache:23973
CODE nextcloud-aio-apache:{APACHE_PORT} (by default :11000)

in the Github there is some discussion about similar problem

Hi all, please check the discussion here:

I switched to the beta release and added the domain nextcloud-aio-apache to the trusted domains and it did not work.

So I wiped all docker volumes related to Nextcloud and started again from beta release and now it works.

Thanks a lot everyone.

1 Like

Wiping the docker volumes seems pretty extreme. That’s not a solution I am comfortable with, considering I have some customization pushed to my nextcloud_aio_mastercontainer volume via my Ansible automation (Setting up Borg declaratively). Is there a better solution?

Interesting! I opened a shell in the nextcloud-aio-nextcloudcontainer and ran ./occ maintenance:repair and the problem was resolved!

2 Likes

I switched over to the latest branch after I got it working on beta and still seems to be working.

I agree. I wiped it because I hadn’t imported any data in yet. Glad you found a solution.

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.