So the latest vtk does not have any wheel for osmesa or egl but ParaView does and can be use to run vtk code. (We are trying to figure out a solution to have other vtk wheels with egl…)
In general, for deploying a vtk/pv web application we rely on Docker to offer a built-in system for serving multiple users on a given machine.
For trame we built new docker images that only install the network and python runtime. Then we rely on an “external” virtual env to install all the “app specific” python packages. This means, you can use them for your vtk web as well.
If you want to see an example for remote rendering with EGL, you can look at our docker setup for visualizer. For you, since you have a custom client (html/css), you will need to provide it inside the directory ./setup/www/*
. You will also have to tweak the command line defined in your app.yml file.
Technically, this will build a ./server/
directory with the generated launcher configuration along with the virtual-env for your application.
Thinking about it more, since you are not using trame, you may run into some issue when the image try to fill the ./server/www/*
directory. But you might be able to bypass that by having an empty ./setup/apps.yml
file and manually editing the launcher configuration inside the server directory after the first run.
Or you can also use the “old” paraviewweb images.
HTH,
Seb