diff --git a/base/Dockerfile b/base/Dockerfile
index c0c71814420300fd5ce9d594e97b5fd6c67e8668..f3f11e8c4d0e514e954dda644d85a14972b19718 100644
--- a/base/Dockerfile
+++ b/base/Dockerfile
@@ -27,12 +27,14 @@ RUN apt-get update --yes && \
     cython \
     gcc \
     gettext \
+    libgl1-mesa-dev \
     llvm \
     lsof \
     mpich \
     r-base \
     swig \
-    vim  && \
+    vim \
+    xvfb  && \
     apt-get clean && rm -rf /var/lib/apt/lists/*
 
 # jupyter install in /opt/app-root/ for legacy reasons (previously based on centos base image)
@@ -60,7 +62,8 @@ RUN jupyter labextension disable ipcluster \
 RUN jupyter labextension install --no-build \
                              clb-jupyter-ext-query-params-dev@3.2.0 \
                              clb-lab-extension@0.9.2 \
-                             ipycanvas@0.12.0
+                             ipycanvas@0.12.0 \
+                             @jupyterlab/server-proxy
 # ipycanvas@0.12.0: Python part installed via spack (py-ipycanvas@0.12.0)
 
 RUN jupyter lab build
diff --git a/base/requirements.txt b/base/requirements.txt
index 59f75d92402ebe2eaa8db7d9aff808def0c7b8c3..5171fe153ee43cf5b1addf8e03cfd1ed75c2d261 100644
--- a/base/requirements.txt
+++ b/base/requirements.txt
@@ -1,22 +1,27 @@
-bokeh==2.4.2
+bokeh==3.1.1
 ipympl==0.8.5
-ipywidgets==7.6.5
-jupyterlab-widgets==1.0.2
+ipywidgets==8.0.7
+jupyterlab-widgets==1.1.0
 jupyterlab-topbar==0.6.1
 jupyterlab-system-monitor==0.8.0
 jupyterlab-git==0.34.1
+jupyter-bokeh==3.0.7
+jupyter-server-proxy==4.1.2
 nbdime==3.1.1
 nbgitpuller==1.0.2
 nbresuse==0.4.0
 nglview==3.0.3
 pyOpenSSL==22.0.0 # TODO: Issue with 22.1 https://github.com/pyca/pyopenssl/issues/1154
+pyvista>=0.42.0
 requests-oauthlib==1.3.0
 rise==5.7.1
+trame_jupyter_extension<2
 tvb-ext-bucket==1.0.0
-tvb-ext-unicore==1.2.0
-tvb-widgets==1.5.0
+tvb-ext-unicore==2.0.0
+tvb-widgets==1.6.0
 tvb-ext-xircuits==1.1.0
 vincent==0.4.4
+vtk
 widgetsnbextension==3.5.2
 xlrd==2.0.1
 git+https://github.com/HumanBrainProject/clb-nb-utils.git