Updating Dockerfile to alingn with the new dependencies needed by brooklyn-ui
diff --git a/Dockerfile b/Dockerfile
index 95d6728..ecb05b0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -16,8 +16,7 @@
 # under the License.
 
 # For all Brooklyn, we use a debian distribution instead of alpine as there are some libgcc incompatibilities with GO
-# and PhantomJS; ideally PhantomJS would be replaced with Chromium 
-# see https://medium.com/@alexbainter/replace-phantomjs-with-headless-chromium-for-javascript-unit-testing-in-karma-59812e6f8ce4
+# (and formerly PhantomJS, now replaced by headless Chromium for the UI karma tests)
 FROM maven:3-amazoncorretto-8-debian
 
 # Install necessary binaries to build brooklyn
@@ -32,6 +31,15 @@
     `# libraries for nodejs image processing` libpng-dev libjpeg-progs pngquant \
     `# more libs needed on recent images` libfontconfig \
     `# node; maven installs this usually, but handy to have for testing` nodejs
+RUN apt-get install -y \
+    `# headless browser for UI karma tests (ChromeHeadless)` chromium
+
+# Chromium's sandbox needs user namespaces, which the Jenkins container doesn't allow, so karma
+# starts it through a wrapper that adds --no-sandbox. Stop puppeteer downloading its own Chromium.
+RUN printf '#!/bin/sh\nexec /usr/bin/chromium --no-sandbox "$@"\n' > /usr/local/bin/chromium-no-sandbox \
+ && chmod 755 /usr/local/bin/chromium-no-sandbox
+ENV CHROME_BIN=/usr/local/bin/chromium-no-sandbox
+ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
 
 RUN cd /tmp \
 && curl -O https://dl.google.com/go/go1.22.5.linux-amd64.tar.gz \
diff --git a/brooklyn-client b/brooklyn-client
index dab9daf..caa1d22 160000
--- a/brooklyn-client
+++ b/brooklyn-client
@@ -1 +1 @@
-Subproject commit dab9daf6599956f4a4d017fd247c38072c976772
+Subproject commit caa1d227667cb660c2d811c27992a3bef8a42487
diff --git a/brooklyn-dist b/brooklyn-dist
index 1640998..d052e2b 160000
--- a/brooklyn-dist
+++ b/brooklyn-dist
@@ -1 +1 @@
-Subproject commit 1640998134fce828dbdd95b0f76ef5186c61ad51
+Subproject commit d052e2b0934a47c6155ff7f668bf2cc5e1a141d1
diff --git a/brooklyn-docs b/brooklyn-docs
index 4ce267e..e215384 160000
--- a/brooklyn-docs
+++ b/brooklyn-docs
@@ -1 +1 @@
-Subproject commit 4ce267ec3d8ef268a06ac9549a72711aa2cf402b
+Subproject commit e215384b3109e929db15ead3b83a96c1efcc3e01
diff --git a/brooklyn-server b/brooklyn-server
index d0ce66d..f6fc2ee 160000
--- a/brooklyn-server
+++ b/brooklyn-server
@@ -1 +1 @@
-Subproject commit d0ce66d1cda3c0c99b6d862b1b42bc6a2feafae7
+Subproject commit f6fc2ee4c4064c405459c2cfa4ef53d8e5fbb3c7
diff --git a/brooklyn-ui b/brooklyn-ui
index dafe139..f2a9fd5 160000
--- a/brooklyn-ui
+++ b/brooklyn-ui
@@ -1 +1 @@
-Subproject commit dafe1397a57af42637fb322e5433f3e0abb73224
+Subproject commit f2a9fd5996b1ec0f41161683ab905174ab2c6aba