ParaViewWeb Generic container
Running pvw-{version}-{egl/osmesa}
This docker image aims to ease any ParaViewWeb application deployment by offering a standard way of strcuturing your web application and exposing it to the world.
Expected structure
<APP_ROOT>/www/ |
www is the directory that will be served by Apache inside docker.
launcher/config.json is the launcher configuration where SESSION_URL_ROOT and EXTRA_PVPYTHON_ARGS would be replaced with the proper docker environments properties.
requirements.txt allow you to install additional Python packages which will then be usable inside your ParaViewWeb application.
endpoints.txt allows you to set up custon endpoints (apache aliases) before apache is started within the container.
server/ is the directory where we tend to put our ParaViewWeb server scripts by convention.
Launcher configuration
The following configuration could be used as a base for your application.
{ |
Running docker
Configuration properties
We use environment variable (-e) for our Docker in order to dynamically configure our launcher configuration:
- SERVER_NAME: Specify which hostname and port the service will be accessible to.
- PROTOCOL: Specify which ws protocol you want to use
ws
orwss
. - EXTRA_PVPYTHON_ARGS: Arbitrary set of arguments.
In the launcher configuration those properties will then be used to replace the following keywords:
- SESSION_URL_ROOT: “${PROTOCOL}://${SERVER_NAME}”
- EXTRA_PVPYTHON_ARGS: EXTRA_PVPYTHON_ARGS split by ‘,’
Use OSMesa for CPU only
export PORT=8080 |
Use EGL for NVIDIA GPU
export PORT=8080 |