diff --git a/docker/ellips/generate_requirements.sh b/docker/ellips/generate_requirements.sh
index d35ca26ea3f22b5b14ac2af9f132c118c98f41b0..94f31e0e1a5ae11275d47f3c67a83904d3775b99 100755
--- a/docker/ellips/generate_requirements.sh
+++ b/docker/ellips/generate_requirements.sh
@@ -1,4 +1,4 @@
 #!/bin/bash
 docker run --rm --env HOME=/home/jovyan --mount type=bind,source="$(pwd)",target=/home/jovyan \
-            --entrypoint bash jupyter/scipy-notebook:2023-04-10 -c \
-            "pip install pip-tools; pip-compile --resolver=backtracking --upgrade --output-file requirements.txt"
\ No newline at end of file
+            --platform linux/amd64 --entrypoint bash jupyter/scipy-notebook:2023-04-10 -c \
+            "pip install pip-tools; pip-compile --verbose --resolver=backtracking --upgrade --output-file requirements.txt"
\ No newline at end of file
diff --git a/docker/ellips/requirements.in b/docker/ellips/requirements.in
index 8aa11bc6e667ec54bbdf3d218b7acae56155db85..450ace314da31a76ab8fe955ac063b0f22c31cb6 100644
--- a/docker/ellips/requirements.in
+++ b/docker/ellips/requirements.in
@@ -1,10 +1,10 @@
-pynxtools>=0.0.3
+pynxtools>0.0.3
 ipywidgets<8.0.0,>=7.0.1
 nodejs
 h5glance>=0.8
 h5grove>=1.1.0
-jupyterlab>=3.2.9
-jupyterlab_h5web[full]>=6.0.0
+jupyterlab<4.0.0,>=3.2.9
+jupyterlab_h5web[full]<10.0.0,>=6.0.0
 punx>=0.2.5
 plotly
 ipython
diff --git a/docker/ellips/requirements.txt b/docker/ellips/requirements.txt
index 335dab81e3a671db2876590f282d63aca6eb2bb4..5e49b3e30c886d384477c27eec66fc9982e6f4c4 100644
--- a/docker/ellips/requirements.txt
+++ b/docker/ellips/requirements.txt
@@ -2,9 +2,13 @@
 # This file is autogenerated by pip-compile with Python 3.10
 # by the following command:
 #
-#    pip-compile --output-file=requirements.txt --resolver=backtracking
+#    pip-compile --output-file=requirements.txt
 #
-anyio==3.7.0
+aiofiles==22.1.0
+    # via ypy-websocket
+aiosqlite==0.19.0
+    # via ypy-websocket
+anyio==3.7.1
     # via jupyter-server
 argon2-cffi==21.3.0
     # via
@@ -13,11 +17,15 @@ argon2-cffi==21.3.0
     #   notebook
 argon2-cffi-bindings==21.2.0
     # via argon2-cffi
-ase==3.19.0
+arrow==1.2.3
+    # via isoduration
+asciitree==0.3.3
+    # via zarr
+ase==3.22.1
     # via
     #   ifes-apt-tc-data-modeling
     #   pynxtools
-asteval==0.9.29
+asteval==0.9.31
     # via lmfit
 asttokens==2.2.1
     # via stack-data
@@ -25,6 +33,7 @@ attrs==23.1.0
     # via
     #   cattrs
     #   jsonschema
+    #   referencing
     #   requests-cache
 babel==2.12.1
     # via jupyterlab-server
@@ -36,25 +45,27 @@ bleach==6.0.0
     # via nbconvert
 cattrs==23.1.2
     # via requests-cache
-certifi==2023.5.7
+certifi==2023.7.22
     # via requests
 cffi==1.15.1
     # via argon2-cffi-bindings
-charset-normalizer==3.1.0
+charset-normalizer==3.2.0
     # via requests
-click==8.1.3
+click==8.1.6
     # via
     #   dask
     #   pynxtools
 cloudpickle==2.2.1
     # via dask
-comm==0.1.3
-    # via ipykernel
+comm==0.1.4
+    # via
+    #   ipykernel
+    #   ipywidgets
 contourpy==1.1.0
     # via matplotlib
 cycler==0.11.0
     # via matplotlib
-dask[array]==2023.6.0
+dask[array]==2023.7.1
     # via
     #   hyperspy
     #   kikuchipy
@@ -77,26 +88,33 @@ diffsims==0.5.2
     # via
     #   kikuchipy
     #   pyxem
-dill==0.3.6
+dill==0.3.7
     # via hyperspy
 entrypoints==0.4
-    # via ipyparallel
-exceptiongroup==1.1.1
+    # via
+    #   ipyparallel
+    #   jupyter-client
+    #   numcodecs
+exceptiongroup==1.1.2
     # via
     #   anyio
     #   cattrs
 executing==1.2.0
     # via stack-data
-fabio==2023.4.1
+fabio==2023.6.0
     # via
     #   pyfai
     #   silx
-fastjsonschema==2.17.1
+fasteners==0.18
+    # via zarr
+fastjsonschema==2.18.0
     # via nbformat
 flatdict==4.0.1
     # via pynxtools
-fonttools==4.40.0
+fonttools==4.41.1
     # via matplotlib
+fqdn==1.5.1
+    # via jsonschema
 fsspec==2023.6.0
     # via
     #   dask
@@ -105,7 +123,7 @@ future==0.18.3
     # via uncertainties
 gitdb==4.0.10
     # via gitpython
-gitpython==3.1.31
+gitpython==3.1.32
     # via pynxtools
 h5glance==0.8.1
     # via -r requirements.in
@@ -113,7 +131,7 @@ h5grove==1.3.0
     # via
     #   -r requirements.in
     #   jupyterlab-h5web
-h5py==3.8.0
+h5py==3.9.0
     # via
     #   h5glance
     #   h5grove
@@ -129,7 +147,7 @@ h5py==3.8.0
     #   pyfai
     #   pynxtools
     #   silx
-hdf5plugin==4.1.2
+hdf5plugin==4.1.3
     # via jupyterlab-h5web
 htmlgen==2.0.0
     # via h5glance
@@ -141,8 +159,9 @@ hyperspy==1.7.5
 idna==3.4
     # via
     #   anyio
+    #   jsonschema
     #   requests
-ifes-apt-tc-data-modeling==0.0.8
+ifes-apt-tc-data-modeling==0.0.9
     # via pynxtools
 imageio==2.27.0
     # via
@@ -152,16 +171,15 @@ imageio==2.27.0
     #   nionswift-io
     #   nionui
     #   scikit-image
-importlib-metadata==6.6.0
+importlib-metadata==6.8.0
     # via
     #   dask
     #   hyperspy
-importlib-resources==5.12.0
+importlib-resources==6.0.0
     # via pyelli
-ipykernel==6.23.2
+ipykernel==6.25.0
     # via
     #   ipyparallel
-    #   ipywidgets
     #   nbclassic
     #   notebook
 ipyparallel==8.6.1
@@ -180,12 +198,14 @@ ipython-genutils==0.2.0
     #   ipywidgets
     #   nbclassic
     #   notebook
-ipywidgets==7.7.5
+ipywidgets==7.8.0
     # via
     #   -r requirements.in
     #   pyelli
     #   pyxem
-jedi==0.18.2
+isoduration==20.11.0
+    # via jsonschema
+jedi==0.19.0
     # via ipython
 jinja2==3.1.2
     # via
@@ -196,15 +216,20 @@ jinja2==3.1.2
     #   nbclassic
     #   nbconvert
     #   notebook
-joblib==1.2.0
+joblib==1.3.1
     # via scikit-learn
 json5==0.9.14
     # via jupyterlab-server
-jsonschema==4.17.3
+jsonpointer==2.4
+    # via jsonschema
+jsonschema[format-nongpl]==4.18.4
     # via
+    #   jupyter-events
     #   jupyterlab-server
     #   nbformat
-jupyter-client==8.2.0
+jsonschema-specifications==2023.7.1
+    # via jsonschema
+jupyter-client==7.4.9
     # via
     #   ipykernel
     #   ipyparallel
@@ -223,48 +248,53 @@ jupyter-core==5.3.1
     #   nbconvert
     #   nbformat
     #   notebook
+jupyter-events==0.7.0
+    # via jupyter-server-fileid
 jupyter-server==1.24.0
     # via
+    #   jupyter-server-fileid
     #   jupyterlab
     #   jupyterlab-h5web
     #   jupyterlab-server
     #   nbclassic
     #   notebook-shim
-jupyterlab==3.5.3
+jupyter-server-fileid==0.9.0
+    # via jupyter-server-ydoc
+jupyter-server-ydoc==0.8.0
+    # via jupyterlab
+jupyter-ydoc==0.2.5
     # via
-    #   -r requirements.in
-    #   ifes-apt-tc-data-modeling
-    #   pynxtools
+    #   jupyter-server-ydoc
+    #   jupyterlab
+jupyterlab==3.6.5
+    # via -r requirements.in
 jupyterlab-h5web[full]==8.0.0
-    # via
-    #   -r requirements.in
-    #   ifes-apt-tc-data-modeling
-    #   pynxtools
+    # via -r requirements.in
 jupyterlab-pygments==0.2.2
     # via nbconvert
-jupyterlab-server==2.23.0
+jupyterlab-server==2.24.0
     # via jupyterlab
-jupyterlab-widgets==1.1.4
+jupyterlab-widgets==1.1.5
     # via ipywidgets
-kikuchipy==0.8.6
+kikuchipy==0.8.7
     # via pynxtools
 kiwisolver==1.4.4
     # via matplotlib
-lark==1.1.5
+lark==1.1.7
     # via
     #   pyelli
     #   pynxtools
-lazy-loader==0.2
+lazy-loader==0.3
     # via scikit-image
-llvmlite==0.40.1rc1
+llvmlite==0.40.1
     # via numba
-lmfit==1.2.1
+lmfit==1.2.2
     # via
     #   pyelli
     #   pyxem
 locket==1.0.0
     # via partd
-lxml==4.9.2
+lxml==4.9.3
     # via
     #   punx
     #   pyresttable
@@ -272,7 +302,7 @@ markupsafe==2.1.3
     # via
     #   jinja2
     #   nbconvert
-matplotlib==3.7.1
+matplotlib==3.7.2
     # via
     #   ase
     #   diffsims
@@ -290,11 +320,11 @@ matplotlib-inline==0.1.6
     #   ipython
 matplotlib-scalebar==0.8.1
     # via orix
-mistune==2.0.5
+mistune==3.0.1
     # via nbconvert
 mpmath==1.3.0
     # via sympy
-natsort==8.3.1
+natsort==8.4.0
     # via hyperspy
 nbclassic==1.0.0
     # via
@@ -302,28 +332,29 @@ nbclassic==1.0.0
     #   notebook
 nbclient==0.8.0
     # via nbconvert
-nbconvert==7.5.0
+nbconvert==7.7.3
     # via
     #   jupyter-server
     #   nbclassic
     #   notebook
-nbformat==5.9.0
+nbformat==5.9.2
     # via
     #   jupyter-server
     #   nbclassic
     #   nbclient
     #   nbconvert
     #   notebook
-nest-asyncio==1.5.6
+nest-asyncio==1.5.7
     # via
     #   ipykernel
+    #   jupyter-client
     #   nbclassic
     #   notebook
 networkx==3.1
     # via
     #   radioactivedecay
     #   scikit-image
-niondata==0.15.3
+niondata==0.15.5
     # via
     #   nionswift
     #   nionswift-io
@@ -331,9 +362,9 @@ nionswift==0.16.8
     # via pynxtools
 nionswift-io==0.15.1
     # via nionswift
-nionui==0.6.10
+nionui==0.6.11
     # via nionswift
-nionutils==0.4.6
+nionutils==0.4.7
     # via
     #   niondata
     #   nionswift
@@ -341,13 +372,13 @@ nionutils==0.4.6
     #   nionui
 nodejs==0.1.1
     # via -r requirements.in
-notebook==6.5.4
+notebook==6.5.5
     # via
     #   jupyterlab
     #   widgetsnbextension
 notebook-shim==0.2.3
     # via nbclassic
-numba==0.57.0
+numba==0.57.1
     # via
     #   diffsims
     #   hyperspy
@@ -355,11 +386,13 @@ numba==0.57.0
     #   orix
     #   pyxem
     #   sparse
+numcodecs==0.11.0
+    # via zarr
 numexpr==2.8.4
     # via
     #   hyperspy
     #   pyfai
-numpy==1.24.3
+numpy==1.24.4
     # via
     #   ase
     #   contourpy
@@ -379,6 +412,7 @@ numpy==1.24.3
     #   nionswift-io
     #   nionui
     #   numba
+    #   numcodecs
     #   numexpr
     #   numpy-quaternion
     #   orix
@@ -398,6 +432,7 @@ numpy==1.24.3
     #   sparse
     #   tifffile
     #   xarray
+    #   zarr
 numpy-quaternion==2022.4.3
     # via orix
 optional-django==0.1.0
@@ -407,7 +442,7 @@ orix==0.11.1
     #   diffsims
     #   kikuchipy
     #   pyxem
-orjson==3.9.1
+orjson==3.9.2
     # via h5grove
 packaging==23.1
     # via
@@ -423,7 +458,7 @@ packaging==23.1
     #   pooch
     #   scikit-image
     #   xarray
-pandas==2.0.2
+pandas==2.0.3
     # via
     #   ifes-apt-tc-data-modeling
     #   pyelli
@@ -439,7 +474,7 @@ pexpect==4.8.0
     # via ipython
 pickleshare==0.7.5
     # via ipython
-pillow==9.5.0
+pillow==10.0.0
     # via
     #   imageio
     #   matplotlib
@@ -449,7 +484,7 @@ pint==0.22
     # via
     #   hyperspy
     #   pyelli
-platformdirs==3.5.3
+platformdirs==3.10.0
     # via
     #   jupyter-core
     #   pooch
@@ -464,12 +499,12 @@ pooch==1.7.0
     #   orix
 prettytable==3.8.0
     # via hyperspy
-prometheus-client==0.17.0
+prometheus-client==0.17.1
     # via
     #   jupyter-server
     #   nbclassic
     #   notebook
-prompt-toolkit==3.0.38
+prompt-toolkit==3.0.39
     # via ipython
 psutil==5.9.5
     # via
@@ -489,7 +524,7 @@ pycifrw==4.4.5
     # via diffpy-structure
 pycparser==2.21
     # via cffi
-pyelli[fitting]==0.17.0
+pyelli[fitting]==0.18.0
     # via -r requirements.in
 pyfai==2023.5.0
     # via pyxem
@@ -497,21 +532,22 @@ pygments==2.15.1
     # via
     #   ipython
     #   nbconvert
-pynxtools==0.0.3
+pynxtools==0.0.4
     # via -r requirements.in
 pyparsing==3.0.9
     # via matplotlib
 pyresttable==2020.0.8
     # via punx
-pyrsistent==0.19.3
-    # via jsonschema
 python-dateutil==2.8.2
     # via
+    #   arrow
     #   hyperspy
     #   ipyparallel
     #   jupyter-client
     #   matplotlib
     #   pandas
+python-json-logger==2.0.7
+    # via jupyter-events
 pytz==2023.3
     # via
     #   nionswift
@@ -523,14 +559,15 @@ pywavelets==1.4.1
     # via scikit-image
 pyxem==0.15.1
     # via pynxtools
-pyyaml==6.0
+pyyaml==6.0.1
     # via
     #   dask
     #   hyperspy
+    #   jupyter-events
     #   kikuchipy
     #   pyelli
     #   pynxtools
-pyzmq==25.1.0
+pyzmq==24.0.1
     # via
     #   ipykernel
     #   ipyparallel
@@ -538,10 +575,15 @@ pyzmq==25.1.0
     #   jupyter-server
     #   nbclassic
     #   notebook
-radioactivedecay==0.4.17
+radioactivedecay==0.4.18
     # via ifes-apt-tc-data-modeling
-rapidfuzz==3.1.1
+rapidfuzz==3.1.2
     # via pyelli
+referencing==0.30.0
+    # via
+    #   jsonschema
+    #   jsonschema-specifications
+    #   jupyter-events
 requests==2.31.0
     # via
     #   hyperspy
@@ -550,18 +592,30 @@ requests==2.31.0
     #   punx
     #   pynxtools
     #   requests-cache
-requests-cache==1.0.1
+requests-cache==1.1.0
     # via pynxtools
+rfc3339-validator==0.1.4
+    # via
+    #   jsonschema
+    #   jupyter-events
+rfc3986-validator==0.1.1
+    # via
+    #   jsonschema
+    #   jupyter-events
+rpds-py==0.9.2
+    # via
+    #   jsonschema
+    #   referencing
 scikit-image==0.21.0
     # via
     #   hyperspy
     #   kikuchipy
     #   pyxem
-scikit-learn==1.2.2
+scikit-learn==1.3.0
     # via
     #   kikuchipy
     #   pyxem
-scipy==1.10.1
+scipy==1.11.1
     # via
     #   ase
     #   diffsims
@@ -592,6 +646,7 @@ six==1.16.0
     #   bleach
     #   diffpy-structure
     #   python-dateutil
+    #   rfc3339-validator
     #   url-normalize
 smmap==5.0.0
     # via gitdb
@@ -614,9 +669,9 @@ terminado==0.17.1
     #   jupyter-server
     #   nbclassic
     #   notebook
-threadpoolctl==3.1.0
+threadpoolctl==3.2.0
     # via scikit-learn
-tifffile==2023.4.12
+tifffile==2023.7.18
     # via
     #   h5grove
     #   hyperspy
@@ -656,6 +711,7 @@ traitlets==5.9.0
     #   ipywidgets
     #   jupyter-client
     #   jupyter-core
+    #   jupyter-events
     #   jupyter-server
     #   matplotlib-inline
     #   nbclassic
@@ -669,7 +725,7 @@ transforms3d==0.4.1
     # via
     #   diffsims
     #   pyxem
-typing-extensions==4.6.3
+typing-extensions==4.7.1
     # via
     #   cattrs
     #   pint
@@ -683,9 +739,11 @@ tzlocal==4.3
     #   pynxtools
 uncertainties==3.1.7
     # via lmfit
+uri-template==1.3.0
+    # via jsonschema
 url-normalize==1.4.3
     # via requests-cache
-urllib3==2.0.3
+urllib3==2.0.4
     # via
     #   requests
     #   requests-cache
@@ -693,19 +751,29 @@ wcwidth==0.2.6
     # via
     #   prettytable
     #   prompt-toolkit
+webcolors==1.13
+    # via jsonschema
 webencodings==0.5.1
     # via
     #   bleach
     #   tinycss2
-websocket-client==1.5.3
+websocket-client==1.6.1
     # via jupyter-server
-widgetsnbextension==3.6.4
+widgetsnbextension==3.6.5
     # via ipywidgets
-xarray==2023.5.0
+xarray==2023.7.0
     # via pynxtools
+y-py==0.6.0
+    # via
+    #   jupyter-ydoc
+    #   ypy-websocket
+ypy-websocket==0.8.4
+    # via jupyter-server-ydoc
+zarr==2.16.0
+    # via hyperspy
 zipfile37==0.1.3
     # via pynxtools
-zipp==3.15.0
+zipp==3.16.2
     # via importlib-metadata
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/docker/mpes/generate_requirements.sh b/docker/mpes/generate_requirements.sh
index 7e4cb735463fd87a3c490373bd9a6d2494913841..1c3bf0e0fdf21eade984d123de0242ce40548f00 100755
--- a/docker/mpes/generate_requirements.sh
+++ b/docker/mpes/generate_requirements.sh
@@ -3,6 +3,7 @@ docker run --rm --env HOME=/home/jovyan --mount type=bind,source="$(pwd)",target
             --platform linux/amd64 --entrypoint bash jupyter/scipy-notebook:2023-04-10 -c \
             "pip install pip-tools; pip-compile --verbose --resolver=backtracking --upgrade --output-file requirements.jupyter.txt requirements.jupyter.in"
 
-docker run --rm --env HOME=/config --mount type=bind,source="$(pwd)",target=/config/requirements \
-            --platform linux/amd64 --entrypoint bash gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/webtop:v0.0.1 -c \
-            "apt-get update; apt-get install -y pip git; pip install pip-tools; cd requirements; pip-compile --verbose --output-file=requirements.webtop.txt --resolver=backtracking requirements.jupyter.in requirements.webtop.in"
\ No newline at end of file
+# This is not fully working yet!
+# docker run --rm --env HOME=/config --mount type=bind,source="$(pwd)",target=/config/requirements \
+#             --platform linux/amd64 --entrypoint bash gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/webtop:v0.0.1 -c \
+#             "apt-get update; apt-get install -y pip git; pip install pip-tools; cd requirements; pip-compile --verbose --output-file=requirements.webtop.txt --resolver=backtracking requirements.jupyter.in requirements.webtop.in"
\ No newline at end of file
diff --git a/docker/mpes/requirements.jupyter.in b/docker/mpes/requirements.jupyter.in
index de8a85e682285a77479b54ecf461a23be54160f2..cccb48a05130e2a6238eb2b9c4499dd500239c1f 100644
--- a/docker/mpes/requirements.jupyter.in
+++ b/docker/mpes/requirements.jupyter.in
@@ -4,7 +4,7 @@ ipywidgets<8.0.0,>=7.0.1
 h5glance>=0.8
 h5grove>=1.1.0
 jupyterlab<4.0.0,>=3.2.9
-jupyterlab_h5web[full]>=6.0.0
+jupyterlab_h5web[full]<10.0.0,>=6.0.0
 punx>=0.2.5
 mpes>=1.1.4
 silx>=1.1.2
diff --git a/docker/mpes/requirements.jupyter.txt b/docker/mpes/requirements.jupyter.txt
index 0a5d4fd5711b75adc3a3daed58a9f186af937bb1..c9aedd6932b58883a562196d29ff2e8e16ccef69 100644
--- a/docker/mpes/requirements.jupyter.txt
+++ b/docker/mpes/requirements.jupyter.txt
@@ -76,7 +76,7 @@ cloudpickle==2.2.1
     # via
     #   dask
     #   distributed
-comm==0.1.3
+comm==0.1.4
     # via
     #   ipykernel
     #   ipywidgets
@@ -310,10 +310,8 @@ jupyter-core==5.3.1
     #   nbformat
     #   notebook
 jupyter-events==0.7.0
-    # via
-    #   jupyter-server
-    #   jupyter-server-fileid
-jupyter-server==2.7.0
+    # via jupyter-server-fileid
+jupyter-server==1.24.0
     # via
     #   jupyter-server-fileid
     #   jupyterlab
@@ -323,8 +321,6 @@ jupyter-server==2.7.0
     #   notebook-shim
 jupyter-server-fileid==0.9.0
     # via jupyter-server-ydoc
-jupyter-server-terminals==0.4.4
-    # via jupyter-server
 jupyter-server-ydoc==0.8.0
     # via jupyterlab
 jupyter-ydoc==0.2.5
@@ -333,7 +329,7 @@ jupyter-ydoc==0.2.5
     #   jupyterlab
 jupyterlab==3.6.5
     # via -r requirements.jupyter.in
-jupyterlab-h5web[full]==10.0.0
+jupyterlab-h5web[full]==8.0.0
     # via -r requirements.jupyter.in
 jupyterlab-pygments==0.2.2
     # via nbconvert
@@ -544,8 +540,6 @@ orix==0.11.1
     #   pyxem
 orjson==3.9.2
     # via h5grove
-overrides==7.3.1
-    # via jupyter-server
 packaging==23.1
     # via
     #   astropy
@@ -830,7 +824,6 @@ tblib==2.0.0
 terminado==0.17.1
     # via
     #   jupyter-server
-    #   jupyter-server-terminals
     #   nbclassic
     #   notebook
 threadpoolctl==3.2.0