Visualizer Docker - Issue running EGL Demo on EC2

Hey,

I am following the tutorial at https://kitware.github.io/paraviewweb/docs/docker.html step-by-step, managing to browse to the demo page. But when selecting the Visualizer application, I am greeted with “Server disconnected” underneath the spinning logo after a couple of seconds.

Checking the console show:

WebSocket connection to 'ws://localhost/proxy?sessionId=e5e621fe-13cc-11eb-a18e-0242ac110002&path=ws' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

Since the paraview application is running on an EC2 instance, I would suspect this address should point to the EC2 server (eg. ec2-myinstancename.eu-central-1.compute.amazonaws.com) instead of localhost.

Visiting localhost:9000/visualizer locally on the EC2 machine results in no issues.

What could I have misconfigured?

Kind Regards,
Sander

When you run your docker, you need to provide the correct server name.

-e "SERVER_NAME=pvw.company.com"

Hi Sebastien,

I have provided this and double checked by running printenv inside the container.
It shows:

SERVER_NAME=ec2-myinstancename.eu-central-1.compute.amazonaws.com

Is there something else I should check?

This should do the trick. I’m not sure what is happening.

Which image are you using? The latest to date can be found here and should start with pvw-*.

@Scott_Wittenburg could you point to the documentation showing the usage of those paraview/pvw-* image. Normally they should behave the same way as they are currently described in the pvw docs that you are following.

This is the full command:

sudo docker run --gpus all -p 0.0.0.0:9000:80 -v ~/data:/data -e "SERVER_NAME=ec2-myinstancename.eu-central-1.compute.amazonaws.com" -e "PROTOCOL=ws" --restart unless-stopped -dti kitware/paraviewweb:pvw-egl-demo-v5.6.0

So that would be: pvw-egl-demo-v5.6.0

I just noticed I am running on Ubuntu 20.04 though, while the guide asumes 16 or 18. Could this cause the issue? I can try with 16.04 tomorrow.

Here [1] is some documentation specific to the paraview-pvw-* images Sebastien mentioned, but I agree the parts related to how the session url is configured should be the same.

The images with “demo” in the name are kind of outdated. I think Sebastien is referring to the images with just the paraview version and rendering type in their name. For example the latest egl image for python3 is:

kitware/paraview:pvw-v5.8.0-egl-py3

The documentation in [1] is for those images (no “demo” or “visualizer” in the image name), where you expect to host your web application in a directory on your machine, and the docker container just mounts that directory and runs it. The general idea of that approach is described here [2], under “fully external direct run”.

[1] https://kitware.github.io/paraviewweb/docs/docker_cheatsheet.html
[2] https://kitware.github.io/paraviewweb/docs/container_overview.html#Layer-Two-ParaViewWeb

Hope it helps,
Scott

Hi Scott, Sebastien

I was able to set up an instance using the kitware/paraview:pvw-v5.7.1-egl-py3 image.
I encountered another issue on the 5.8.0 version where the connection would timeout, but that was probably due to a misconfiguration on my side.

Thank you for the assistance,
Sander