Where is the usage documentation? (or: how do I browse / open a document)

What I hope to get out of this:

  • learn how to enable local storage for the docker image
  • a list of URL endpoints that are available in collabora/code
  • a list of required URL-parameters for those endpoints

What I’m trying to do:

  • Open any document using collabora/code.
  • I’m not using any extra integrations, I don’t intend to set up a WOPI server.

What I’ve done so far:

  • I followed this guide to set up a docker-compose.yml for collabora/code

  • This is my docker-compose.yml
    services:
      code:
        tty: true
        ports:
          - 9980:9980
        image: collabora/code
        restart: always
        volumes:
          - ./etc_coolwsd:/etc/coolwsd
          - /mnt/nas1:/mnt/nas1
    
  • I discovered /hosting/discovery thanks to the ‘How to integrate’ section of the guide.

    • That provides 3 distinct URLs to me:
      • /browser/a0576a3364/cool.html?
        • responds with: Wrong or missing WOPISrc parameter, please contact support.
      • /browser/a0576a3364/admin/adminIntegratorSettings.html
        • This responds with two buttons, ‘Upload Autotext’ and ‘Upload Wordbook’
      • /hosting/capabilities
        • Response
          {
            "convert-to": {
              "available": true,
              "endpoint": "/cool/convert-to"
            },
            "hasDocumentSigningSupport": true,
            "hasMobileSupport": true,
            "hasProxyPrefix": false,
            "hasSettingIframeSupport": true,
            "hasTemplateSaveAs": false,
            "hasTemplateSource": true,
            "hasWASMSupport": false,
            "hasWopiAccessCheck": true,
            "hasZoteroSupport": true,
            "productName": "Collabora Online Development Edition",
            "productVersion": "25.04.7.3",
            "productVersionHash": "a0576a3364",
            "serverId": "00c113a0"
          }
          
  • I discovered the file_path URL-Parameter in a reddit post (ugh).

    • I prepared a test file in ‘/mnt/nas1/test.xlsx‘ and made it world-read/writeable.

      Checking that the file exists in the container:
      > docker exec -it collabora-code-1 /bin/sh
      $ ls -l /mnt/nas1
      -rwxrwxrwx  1 1002 993 47824 Dec 13 22:06 test.xlsx
      
    • I tried to enable filesystem access by following the ‘Backend storage configurations‘ section.

      Relevant coolwsd.xml excerpt
      <config>
          <logging>
      		<level type="string">debug</level>
      	</logging>
      	<storage desc="Backend storage">
      		<filesystem allow="true" />
      	</storage>
      </config>
      
    • Accessing /browser/a0576a3364/cool.html?file_path=/mnt/nas1/test.xlsx results in a blank editor page.
      On every 2nd reload the error ‘Failed to establish socket connection or socket connection closed unexpectedly‘ is shown.

      relevant log output

      [ websrv_poll ] DBG Local Storage is disabled in this build. Enable in the config file.| wsd/Storage.cpp:185
      [ websrv_poll ] DBG No Storage configured or invalid URI [/mnt/nas1/test.xlsx]| wsd/Storage.cpp:217

  • I eventually discovered the admin page ‘/browser/dist/admin/admin.htmlhere.

    • This page works fine, but does not seem helpful to my specific issue.

      The ‘Version Information’ just in case it helps
      COOLWSD
      25.04.7.3 (git hash: a0576a3364)
      '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--enable-silent-rules' '--with-lokit-path=bundled/include' '--disable-tests' '--with-infobar-url=https://rating.collaboraonline.com/UpdateCheck/updatecheck2.html' '--with-welcome-url=https://rating.collaboraonline.com/Welcome/welcome.html' '--with-feedback-url=https://rating.collaboraonline.com/Rate/feedback.html' '--with-poco-includes=/opt/poco/include' '--with-poco-libs=/opt/poco/lib' '--with-lo-path=/opt/collaboraoffice' '--with-max-documents=1000000' '--with-max-connections=1000000' '--with-vendor=Collabora Productivity Limited' '--with-app-name=Collabora Online Development Edition' '--enable-experimental' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'PKG_CONFIG_PATH=/opt/rh/devtoolset-12/root/usr/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig' 'PNG_CFLAGS=-I/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/workdir/UnpackedTarball/libpng' 'PNG_LIBS=-L/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/workdir/LinkTarget/StaticLibrary -llibpng' 'ZSTD_CFLAGS=-I/usr/local/include' 'ZSTD_LIBS=-L/usr/local/lib64 -lzstd' 'CPPUNIT_CFLAGS=-I/usr/local/include/cppunit/' 'CPPUNIT_LIBS=-L/usr/local/lib -lcppunit' 'OPENSSL_CFLAGS=-I/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/workdir/UnpackedTarball/openssl/include' 'OPENSSL_LIBS=-L/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/workdir/UnpackedTarball/openssl -lcrypto -lssl' (poco version: 1.12.5)
      
      LOKit
      Collabora Office 25.04.7.3 (git hash: 4ad7ba3245)
      '--enable-hardening-flags' '--enable-mpl-subset' '--with-vendor=Collabora' '--disable-community-flavor' '--with-branding=icon-themes/galaxy/brand_cp' '--with-system-dicts' '--with-myspell-dicts' '--with-system-zlib' '--disable-poppler' '--enable-cairo-rgba' '--without-system-cairo' '--without-system-fontconfig' '--without-system-freetype' '--without-system-graphite' '--without-system-harfbuzz' '--without-system-openssl' '--without-system-libpng' '--without-system-libxml' '--without-system-jpeg' '--without-system-expat' '--without-system-curl' '--without-system-icu' '--without-system-nss' '--without-system-jars' '--without-system-postgresql' '--without-java' '--without-junit' '--without-help' '--with-linker-hash-style=both' '--with-fonts' '--with-docrepair-fonts' '--enable-noto-font' '--with-galleries=no' '--with-theme=colibre colibre_svg' '--with-external-thes-dir=/usr/share/mythes' '--with-external-hyph-dir=/usr/share/hyphen' '--with-external-dict-dir=/usr/share/hunspell' '--disable-dbus' '--enable-extension-integration' '--disable-odk' '--disable-kf5' '--disable-gtk3' '--disable-qt5' '--disable-gstreamer-1-0' '--disable-evolution2' '--disable-gio' '--disable-gui' '--disable-scripting-beanshell' '--disable-scripting-javascript' '--disable-ext-wiki-publisher' '--disable-report-builder' '--disable-ext-nlpsolver' '--disable-sdremote' '--disable-sdremote-bluetooth' '--disable-postgresql-sdbc' '--disable-firebird-sdbc' '--disable-randr' '--enable-epm' '--enable-python=internal' '--disable-online-update' '--disable-dconf' '--enable-mergelibs' '--with-package-format=deb rpm' '--enable-release-build' '--with-lang=ar bg ca cs da de el en-US en-GB eo es eu fi fr gl he hr hu hy id is it ja ko lo nb nl oc pl pt pt-BR sq ru sk sl sv tr uk vi zh-CN zh-TW' '--disable-lotuswordpro' '--disable-lpsolve' '--enable-symbols' '--enable-sal-log' '--without-templates' '--with-buildconfig-recorded' '--srcdir=/opt/collaboraoffice/debugsource' '--enable-option-checking=fatal' 'PKG_CONFIG_PATH=/opt/rh/devtoolset-12/root/usr/lib64/pkgconfig'
      

hi @BlazingTwist

This is not supported.

collabora/code cannot open local filesystem files and cannot work without a WOPI server.
Local storage is disabled at build time, not via coolwsd.xml, which is why you see:

Local Storage is disabled in this build
Wrong or missing WOPISrc parameter

The editor always requires WOPISrc. Parameters like file_path= do not work in the official Docker image.

What you can do:

  • Use a WOPI host (Nextcloud, Seafile, etc.)
  • Write a minimal WOPI bridge to your filesystem
  • Build a custom Collabora Online with local storage enabled

What you cannot do:

  • Open /mnt/nas1/test.xlsx directly
  • Use CODE as a standalone editor
  • Enable filesystem access only via config

This behavior is expected and by design.

Thanks for confirming my suspicions @darshan

I eventually got cs3org/wopiserver to play ball with collabora/code.

1 Like