Pydio Cells 3.03 and Collabora Online 21.06 Integration

This weekend I installed Pydio Cells Home 3.0.3 on my Debian 10 machine.
My first experience is pretty good so I found it worth to enable the Collabora Online plugin.
On the same Debian machine I installed the Collabora Online CORE deb package (v21.06.11)
Both Pydio and Collabora are configured with SSL.

When I have an Office .docx or .xlsx document and chose to open it with “Libre Office” I get a white screen.
After some research I found that Pydio seems to point to …/loleaflet/dist/loleaflet.html?host=wss:…
However when I look into the /etc/coolwsd/coolwsd.xml configuration file I see that Collabora is expecting a file server directory pointing to browser/…/

Anyone recently experienced the same? How can I diagnose this further and setup the right configuration?

Thanks a lot in advance

In the mean time I did try out some other things to get clarity.
So I did setup the Collabora Docker image as well. The results however are exactly the same. Opening a document with Libre Office gives me a complete white page.

So apparently Pydio needs to be updated to be pointing to the new directory structure of the Collabora Online setup.

Anyone who has an intermediate solution or update let me know.

Hello @Mausman,

Could you share the command that you are using to run collabora and also the plugin settings ?

Hi Zayn,
Thanks for the response.
I run docker with the following command:

docker run -t -d -p 127.0.0.1:9980:9980 -e “extra_params=-o:tls.enable=false” -e “domain=my.domain.nl” collabora/code

The plugin settings in this case are:

  • Libre Office SSL: Disabled/Unchecked
  • Libre Office Host: localhost
  • Libre Office Host Port: 9980

Enabling SSL by the way on both, running the docker command and plugin gives the same result. When I enable SSL only on one of both I get the expected “502 bad gateway”. So the fact that I get only a white screen gives me the idea that the Collabora docker container responds.

Hello @Mausman,

I believe that might be because your domain is not dot escaped,
you have to escape the dots like this my\.domain\.nl

Could you try to re-run your docker with the escaped name and tell me if it fixes the issue ?

Hello Zayn,

Sorry for the late reply but I was quite occupied. I did try to run it as suggested indeed:

docker run -t -d -p 127.0.0.1:9980:9980 -e “domain=my\.domain\.nl” -e “username=admin” -e “password=S3cRet” --restart always collabora/code

Unfortunately that still gives me a white screen in Pydio. When I look into the logs of the docker image I find the following error when trying to access a document in Pydio:

wsd-00001-00040 2022-01-02 13:01:08.199267 +0000 [ websrv_poll ] ERR Unknown resource: /loleaflet/dist/loleaflet.html?host=wss://my.domain.nl:8081&WOPISrc=https%3A%2F%2Fmy.domain.nl%3A8081%2Fwopi%2Ffiles%2Fbfa0708c-abdb-4515-b280-bb9af4c9982f&access_token=q2ZeT1q3TMI1Hhm0Jm0Hy2bTpJ6wDvWmE0Un0kpoSII.A3s2Dtahjxb4KpBaROX-QnQDkS0GG5PNxzImsSH0XRY&permission=edit G, host: my.domain.nl:8081, path: 5
[0] ‘loleaflet’
[1] ‘dist’
[2] ‘loleaflet.html’
[3] ‘host=wss:’
[4] ‘my.domain.nl:8081&WOPISrc=https%3A%2F%2Fmy.domain.nl%3A8081%2Fwopi%2Ffiles%2Fbfa0708c-abdb-4515-b280-bb9af4c9982f&access_token=q2ZeT1q3TMI1Hhm0Jm0Hy2bTpJ6wDvWmE0Un0kpoSII.A3s2Dtahjxb4KpBaROX-QnQDkS0GG5PNxzImsSH0XRY&permission=edit’
full URI: /loleaflet/dist/loleaflet.html?host=wss://my.domain.nl:8081&WOPISrc=https%3A%2F%2Fmy.domain.nl%3A8081%2Fwopi%2Ffiles%2Fbfa0708c-abdb-4515-b280-bb9af4c9982f&access_token=q2ZeT1q3TMI1Hhm0Jm0Hy2bTpJ6wDvWmE0Un0kpoSII.A3s2Dtahjxb4KpBaROX-QnQDkS0GG5PNxzImsSH0XRY&permission=edit| wsd/COOLWSD.cpp:2818

So like I mentioned before it seems Pydio and Collabora use a different URL scheme.

Hello,

I’m having the same problem after updating cells and Collabora. It seems @Mausman is right and that the URL scheme has changed from the loolwsd to coolwsd.
A lot of files have been renamed in the last Collabora update and so have the URLs pointing to them. If you navigate to <my_domain>/hosting/discovery you see the URLs for all the editors. For me they all start with:
https://<my_domain>/browser/1e92cc5/cool.html? . I’m not sure what the 1e92cc5 is, I hope that it doesn’t change with version or from server to server.
When I open a Collabora file with the current version of Cells the request is: <my_domain>/loleaflet/dist/loleaflet.html?host=wss://<my_domain>&WOPISrc=<my_domain>&access_token=<token>&permission=edit
This does not work.
If I take the URL that Cells is producing and (manually) replace the /dist/loleaflet.html portion with /browser/1e92cc5/cool.html the document opens as expected.
As a side note, if you’re running Collabora behind a reverse proxy make sure that you replace all the loleaflet with browser and lool with cool
How can we take this further?

1 Like

I have a temporary solution, I added a rewrite to the reverse proxy. It works and from basic tests I can’t see any side effects

    location ^~ /loleaflet/dist/loleaflet.html {
        rewrite /loleaflet/dist/loleaflet.html /browser/1e92cc5/cool.html;
    }
1 Like

At least it confirms my conclusion. Thanks for doing some research as well @benw
I am not running a reverse proxy as both instances Cells and Collabora run on the same server. So I wait for a more structural solution from @zayn and the Pydio team.