I’m having hard time to make Collabora work by integrating their docker image in my existing docker-compose file running Nextcloud. Nextcloud is running on port 8888 and ssl is independently handled by a reverse-proxy. So ssl should be disabled on Collabora as well. Could you help me on how to add Collabora in the following docker-compose file? Thanks!
I’m working on that to. I haven’t got it completely running and my setup differs a little bit from yours, but I might give you a starting point:
You could easily add collabora to the compose file without using https. Basically you just have to translate the docker run command to a compose file entry.
So the section to add would be something like that:
In the admin settings you have a section Additional settings. There you have to specify the collabora url. Since everything is running in docker the containers names are resolved. Instead of you full ip/domain name you can use the name of the container and use http.
http://collabora:9980
For me this gets everything connected but loading/creating Files does not work with the following error:
Thanks for your help. I added collabora in the docker-compose file as you suggested. I think the issue I have is that collabora is still waiting for an SSL connection. I try to connect locally to the test page:
Doing so in HTTP gives a “connection was reset” error.
Doing so in HTTPS shows a Collabora document web page with this overprinted error message “We are sorry, this is an unexpected connection error. Please try again.”
So, right now, I’m wandering if there is a way to run the Collabora server without SSL.
But I am now using a subdomain and ssl encryption, like the guides suggested. With the reverse proxy container I’m using it’s just much easier.
jwilder/nginx-proxy creates the reverse proxy configuration automatically. So I didn’t have to edit any config files. It’s all docker-compose .
I simply had to tell the reverse proxy to use a https backend and redirect the requests to the collabora port 9980 via environment variables. It’s even possible to use expose instead of ports so the collabora port is not public accessible on the host.
Combined with the letsencrypt-companion I don’t even have to worry about certificates.
I use an haproxy docker container as a reverse proxy + ssl handling. I don’t use neither nginx-proxy nor let’s encrypt even though that looks pretty nice. That might be the opportunity to look closer at this kind of solution when I’ll have more time. Thx!
Ok, that sounds to work now, but only when the collabora url within Nextcloud settings is set to the collabora website external address (<office.domain.tld>). When it is set to the local url http://collabora:9980, I have the following error:
Collabora Online unknown error: cURL error 52: Empty reply from server Please contact the “http://collabora:9980” administrator.
When using the external url the access is pretty long and I have latency navigating through the documents, Hope that could be solved if I succeed to connect through the local url. If someone could help me understand, that would be nice.
Below is my configurations. the reverse proxy and nextcloud configuration are broken down in two docker-compose.yml:
Well, I’ve said it works with the external url which is right… sometimes. It can happen that a document does not open with the following error forwarded by Docker:
collabora_1 | wsd-00029-05 04:02:26.019667 [ client_ws_000b ] Timed out while waiting for document to unload before loading.
collabora_1 | wsd-00029-05 04:02:26.019693 [ client_ws_000b ] DocBroker is invalid or child had SDS. Service Unavailable.
collabora_1 | wsd-00029-05 04:02:26.019732 [ client_ws_000b ] ClientRequestHandler::handleRequest: WebSocketErrorMessageException: Service is unavailable. Please try again later and report to your administrator if the issue persists.
UPDATE: It works much better with the last collabora/code pull. I’ll indicate this thread as solved.
@Snowyo Thank you for the solution. I have same setting with nginx-proxy and letsencrypt-companion and could not get it work. Adding expose solved the problem.
I am reopening this thread because I can’t get my setup to work although my docker-compose.yml file seems to be OK. There must be something I am not seing. I am posting it below. I’d be super grateful for any advice on what is possibly wrong.
My NC install works great, the reverse proxy and the lets encrypt image as well. When I open the Collabora domain in a browser (office.mydomain.com) I get a page with the text “OK” (and an 200 response code).
When I try to open a document, the page loads until I get a 504 Gateway Time-out. When I try to increase the timeout limit I end up seeing a NC error page with the message Access Forbidden.
Confirmed this is working. Make sure in your settings (in the NC GUI) you use the value: http://<office.domain.tld>:80 even though the nginx proxy will cover everything with SSL.
Hi! I recently ran out of disk space using docker collabora ce. So I wonder if I can set volumes paths in docker-compose.yml file so I can route heavy folders outside docker volumes. I tryed with old docker-compose.yml volumes stated at first post but it seems that collabora doesn’t use that paths anymore and I’m having a hard time finding them.
Can you please tell me which paths should I redirect to external storage to avoid heavy disk usage on host?
Here’s my working docker-compose.yml file. It works just fine connected to docker nextcloud instance!
I try to do the same but without Letsencrypt. I use my own SSL.
So far so good, all works, but when I enable the webdeveloper network inspetor in Firefox I see that my password is sent unencrypted when logging into nextcloud.
Can someone please help me with this issue?
Thank you! - this gave me enough to finally get a single Collabora container usable by multiple NC instances. I had been struggling with this for over a week…
As a note - to do this in my compose file I used this format:
appears slightly different but passes the “good enough and works” check
As a general note - as a relative novice I find the lack of nicely worked examples a constant struggle with the whole NC landscape. As a contrast - I’d mention the CheckMK application where the documentation works for many different skill levels.
Oops - it wasn’t working with multiple, but it does work with a single so that is a major step forward as I couldn’t even get that working before. I had it working fine from a run command but the compose (using the same image) wouldn’t. Good enough now