0

I want to install collabora Online with NextCloud, in some Jelastic environment.

Set up NextCloud was a peace of cake, I just pic the right docker image, access the public given url and voila.

Now I can't make the Collabora Online server to work.

In a regular dedicated server, I run

docker run -t -d -p 9980:9980 -e "extra_params=--o:ssl.enable=false" collabora/code

And I can access Collabora Server with http://ip-add:9980

I added a public IP to the node of the Collabora docker image.

If I run : curl -k http://public-ip-add:9980

I got curl: (7) couldn't connect to host

http://ip-add:9980

the other (and more proper way) is to run this docker command

docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.communecter\\.org\|cloud\\.openappecosystem\\.cc\|cloud\\.cosystem\\.cc' --restart always --cap-add MKNOD collabora/code

and configure reverse proxy on nginx, like that :

# 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;
}

# Capabilities
location ^~ /hosting/capabilities {
    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;
}

But here nginx not suppose to be a docker image so I don't know how to proper link the Collabora node into the nginx node. I try with "link" and "endpoints", without sucess.

Cawet
  • 254
  • 2
  • 12

1 Answers1

0

By default only port 80 and 443 are exposed, however, it looks like you can add an endpoint manually for private port 9980 which is the port your app is bound to. Hope if helps.

bianchi
  • 500
  • 2
  • 12
  • I found in the document that for public IP, all port is open, isn'it ? over, I allready try this, and it's not working, I think it's something about the docker image itself, it work only localy and have to work with a local proxy :/ – Cawet Jun 26 '19 at 12:36
  • You are right, for public IP all ports are opened, so no need to use endpoint. But this is specific case and to make collabora available via public IP it's necessary to configure loolwsd.xml properly, we guess (https://www.collaboraoffice.com/code/docker/). By default, external access to this docker is not allowed, as far as we can see. Nevertheless, is all this still actual considering https://stackoverflow.com/questions/56020031/jelastic-collabora-online-with-next-cloud-without-ssl-for-testing/56133618#comment100111020_56133618 ?? – Virtuozzo Jun 27 '19 at 07:30