问题
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.
回答1:
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.
来源:https://stackoverflow.com/questions/56751932/docker-container-local-networking-in-jelastic