• We value your experience with Plesk during 2024
    Plesk strives to perform even better in 2025. To help us improve further, please answer a few questions about your experience with Plesk Obsidian 2024.
    Please take this short survey:

    https://pt-research.typeform.com/to/AmZvSXkx
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Question Collabora in Docker Container

I remember it was pretty painful to deploy collabora with docker and nginx because it require to use a subdomain for collabora, then to add it in nextcloud.
I'm not sure if it's possible with Plesk because docker proxy rules are great for a simple container, but with additional directives it will be harder.
 
I'm using Plesk Onyx. The operation method may be different from the old version.
I first made a rule with the Proxy rule in the Website and Domain setting. And I confirmed the conf file created by Plesk. Based on that, I wrote it in the additional directive in the Apache and nginx settings. Then disable the proxy rule. But still I was unable to successfully start Collabora.
Next I changed Collabora part to Apache instead of nginx. Nextcloud site is nginx. In this case Collabora's launch went further. Displaying the initializing icon has finished and the warning error dialog box has been displayed. "Unauthorized WOPI host. Please try again later and report to your administrator if the issue persists." This error seems to be caused by an error in specifying the URL, but I specify the nextcloud server as well as the Docker container.
Is this method itself wrong? Nextcloud has set nginx, Collabora site as Apache. But the Collabora site seems to be using nginx instead of Apache. The vhost setting for Apache is completely ignored, and the nginx conf file is read.

Is this a proxy writing problem? Is the URL specification of the proxy incorrect? Will I add some additional processing?

collabora-error.jpg
 
Last edited:
Update 1.3.2 still in development stage. I have no any ETA of release.
 
I run collabora with this command.

docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud.domain.tld\|domain2.tld' --restart always --cap-add MKNOD collabora/code

I think the problem is collabora needs lower case characters and docker over Plesk needs upper-case characters.

Gesendet von meinem G8341 mit Tapatalk
 
Hello Guys,

I have managed to run collabora on Plesk Onyx :

Here the docker run command :
Code:
docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=your\\.nextcloud\\.tld" \
-e "username=admin" -e "password=admin" --restart always --cap-add MKNOD collabora/code

Where your\\.nextcloud\\.tld is your nextcloud instance address.

And here the additional nginx configuration I have used to setup my Nginx reverse-proxy for collabora :

Code:
        # static files
    location ^~ /loleaflet {
        proxy_pass https://localhost:9980;
        proxy_set_header Host $http_host;
    }

    # WOPI discovery URL
    location ^~ /hosting/discovery {
        proxy_pass https://localhost:9980;
        proxy_set_header Host $http_host;
    }

    # main websocket
    location ~ ^/lool/(.*)/ws$ {
        proxy_pass https://localhost:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }

    # download, presentation and image upload
    location ~ ^/lool {
        proxy_pass https://localhost:9980;
        proxy_set_header Host $http_host;
    }

    # Admin Console websocket
    location ^~ /lool/adminws {
        proxy_pass https://localhost:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }

If you have an error message, try to restart docker service, with
Code:
service docker restart
or
Code:
systemctl restart docker
 
Last edited:
May i ask what nginx file you add that into ? is it just added to the nginx.conf for that domain ? bellow whatever is inside the config already.
 
in case someone is wondering . i added this to website & domain - apache & nqinx setting and at the bottom you can extra directives . that's where i added the above code and it worked ;)
 
in case someone is wondering . i added this to website & domain - apache & nqinx setting and at the bottom you can extra directives . that's where i added the above code and it worked ;)

Yes, the configuration I have previously posted can be added directly from the Plesk interface in the additonal Nginx directives block.
 
Back
Top