diff --git a/ci-scripts/template-vars.yaml b/ci-scripts/template-vars.yaml
index d535220..8640127 100644
--- a/ci-scripts/template-vars.yaml
+++ b/ci-scripts/template-vars.yaml
@@ -649,6 +649,35 @@ multiImages:
- src/ubuntu/install/cleanup/**
- src/ubuntu/install/chromium/**
- src/ubuntu/install/chrome/**
+ - name: ubuntu-noble-dind
+ singleapp: false
+ base: core-ubuntu-noble
+ dockerfile: dockerfile-kasm-ubuntu-noble-dind
+ changeFiles:
+ - dockerfile-kasm-ubuntu-noble-dind
+ - src/ubuntu/install/vs_code/**
+ - src/ubuntu/install/tools/**
+ - src/ubuntu/install/sublime_text/**
+ - src/ubuntu/install/misc/**
+ - src/ubuntu/install/dind/**
+ - src/ubuntu/install/cleanup/**
+ - src/ubuntu/install/chromium/**
+ - src/ubuntu/install/chrome/**
+ - name: ubuntu-noble-dind-rootless
+ singleapp: false
+ base: core-ubuntu-noble
+ dockerfile: dockerfile-kasm-ubuntu-noble-dind-rootless
+ changeFiles:
+ - dockerfile-kasm-ubuntu-noble-dind-rootless
+ - src/ubuntu/install/vs_code/**
+ - src/ubuntu/install/vs_code/**
+ - src/ubuntu/install/tools/**
+ - src/ubuntu/install/sublime_text/**
+ - src/ubuntu/install/misc/**
+ - src/ubuntu/install/dind_rootless/**
+ - src/ubuntu/install/cleanup/**
+ - src/ubuntu/install/chromium/**
+ - src/ubuntu/install/chrome/**
- name: vivaldi
singleapp: true
base: core-ubuntu-focal
diff --git a/dockerfile-kasm-ubuntu-noble-dind b/dockerfile-kasm-ubuntu-noble-dind
new file mode 100644
index 0000000..5d32051
--- /dev/null
+++ b/dockerfile-kasm-ubuntu-noble-dind
@@ -0,0 +1,51 @@
+ARG BASE_TAG="develop"
+ARG BASE_IMAGE="core-ubuntu-noble"
+FROM kasmweb/$BASE_IMAGE:$BASE_TAG
+USER root
+
+ENV HOME /home/kasm-default-profile
+ENV STARTUPDIR /dockerstartup
+WORKDIR $HOME
+
+### Envrionment config
+ENV DEBUG=false \
+ DEBIAN_FRONTEND=noninteractive \
+ SKIP_CLEAN=true \
+ KASM_RX_HOME=$STARTUPDIR/kasmrx \
+ DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
+ INST_DIR=$STARTUPDIR/install \
+ INST_SCRIPTS="/ubuntu/install/dind/install_dind.sh \
+ /ubuntu/install/tools/install_tools_deluxe.sh \
+ /ubuntu/install/misc/install_tools.sh \
+ /ubuntu/install/chrome/install_chrome.sh \
+ /ubuntu/install/chromium/install_chromium.sh \
+ /ubuntu/install/sublime_text/install_sublime_text.sh \
+ /ubuntu/install/vs_code/install_vs_code.sh \
+ /ubuntu/install/cleanup/cleanup.sh"
+
+# Startup Scripts
+COPY ./src/ubuntu/install/dind/custom_startup.sh $STARTUPDIR/custom_startup.sh
+RUN chmod 755 $STARTUPDIR/custom_startup.sh
+COPY ./src/ubuntu/install/dind/dockerd.conf /etc/supervisor/conf.d/
+
+# Copy install scripts
+COPY ./src/ $INST_DIR
+
+# Run installations
+RUN \
+ for SCRIPT in $INST_SCRIPTS; do \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
+ done && \
+ $STARTUPDIR/set_user_permission.sh $HOME && \
+ rm -f /etc/X11/xinit/Xclients && \
+ chown 1000:0 $HOME && \
+ mkdir -p /home/kasm-user && \
+ chown -R 1000:0 /home/kasm-user && \
+ rm -Rf ${INST_DIR}
+
+# Userspace Runtime
+ENV HOME /home/kasm-user
+WORKDIR $HOME
+USER 1000
+
+CMD ["--tail-log"]
diff --git a/dockerfile-kasm-ubuntu-noble-dind-rootless b/dockerfile-kasm-ubuntu-noble-dind-rootless
new file mode 100644
index 0000000..c8fe20f
--- /dev/null
+++ b/dockerfile-kasm-ubuntu-noble-dind-rootless
@@ -0,0 +1,57 @@
+ARG BASE_TAG="develop"
+ARG BASE_IMAGE="core-ubuntu-noble"
+FROM kasmweb/$BASE_IMAGE:$BASE_TAG
+USER root
+
+ENV HOME /home/kasm-default-profile
+ENV STARTUPDIR /dockerstartup
+ENV INST_SCRIPTS $STARTUPDIR/install
+WORKDIR $HOME
+
+# Rootless Dind
+COPY ./src/ubuntu/install/dind_rootless/install_dind_rootless.sh $INST_SCRIPTS/dind_rootless/
+RUN bash $INST_SCRIPTS/dind_rootless/install_dind_rootless.sh
+RUN rm -rf $INST_SCRIPTS/dind_rootless
+COPY ./src/ubuntu/install/dind_rootless/custom_startup.sh $STARTUPDIR/custom_startup.sh
+RUN chmod +x $STARTUPDIR/custom_startup.sh && chmod 755 $STARTUPDIR/custom_startup.sh
+COPY ./src/ubuntu/install/dind_rootless/modprobe /usr/local/bin/modprobe
+RUN chmod +x /usr/local/bin/modprobe
+ENV XDG_RUNTIME_DIR=/docker \
+ DOCKER_HOST=unix:///docker/docker.sock
+RUN mkdir -p $XDG_RUNTIME_DIR && chown 1000:0 $XDG_RUNTIME_DIR
+
+### Envrionment config
+ENV DEBIAN_FRONTEND=noninteractive \
+ SKIP_CLEAN=true \
+ KASM_RX_HOME=$STARTUPDIR/kasmrx \
+ DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
+ INST_DIR=$STARTUPDIR/install \
+ INST_SCRIPTS="/ubuntu/install/tools/install_tools_deluxe.sh \
+ /ubuntu/install/misc/install_tools.sh \
+ /ubuntu/install/chrome/install_chrome.sh \
+ /ubuntu/install/chromium/install_chromium.sh \
+ /ubuntu/install/sublime_text/install_sublime_text.sh \
+ /ubuntu/install/vs_code/install_vs_code.sh \
+ /ubuntu/install/cleanup/cleanup.sh"
+
+# Copy install scripts
+COPY ./src/ $INST_DIR
+
+# Run installations
+RUN \
+ for SCRIPT in $INST_SCRIPTS; do \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
+ done && \
+ $STARTUPDIR/set_user_permission.sh $HOME && \
+ rm -f /etc/X11/xinit/Xclients && \
+ chown 1000:0 $HOME && \
+ mkdir -p /home/kasm-user && \
+ chown -R 1000:0 /home/kasm-user && \
+ rm -Rf ${INST_DIR}
+
+# Userspace Runtime
+ENV HOME /home/kasm-user
+WORKDIR $HOME
+USER 1000
+
+CMD ["--tail-log"]
diff --git a/docs/ubuntu-noble-dind-rootless/README.md b/docs/ubuntu-noble-dind-rootless/README.md
new file mode 100644
index 0000000..5e7bc79
--- /dev/null
+++ b/docs/ubuntu-noble-dind-rootless/README.md
@@ -0,0 +1,13 @@
+# About This Image
+
+This Image contains a browser-accessible version of [Docker](https://www.docker.com/) running as a normal, non-root user.
+
+![Screenshot][Image_Screenshot]
+
+[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/image-screenshots/ubuntu-jammy-dind-rootless.png "Image Screenshot"
+
+See [Kasm Docs](https://kasmweb.com/docs/latest/how_to/docker_in_kasm.html) for additional setup instructions.
+
+# Environment Variables
+
+* `APP_ARGS` - Additional arguments to pass to the application when launched.
diff --git a/docs/ubuntu-noble-dind-rootless/demo.txt b/docs/ubuntu-noble-dind-rootless/demo.txt
new file mode 100644
index 0000000..b218e24
--- /dev/null
+++ b/docs/ubuntu-noble-dind-rootless/demo.txt
@@ -0,0 +1,9 @@
+# Live Demo
+
+**Launch a real-time demo in a new browser window:** Live Demo.
+
+
+
+∗*Docker will not be functional in the demo for security reasons.*
+
+∗*Note: Demo is limited to 3 minutes and has upload/downloads restricted for security purposes.*
diff --git a/docs/ubuntu-noble-dind-rootless/description.txt b/docs/ubuntu-noble-dind-rootless/description.txt
new file mode 100644
index 0000000..f976460
--- /dev/null
+++ b/docs/ubuntu-noble-dind-rootless/description.txt
@@ -0,0 +1 @@
+Rootless Docker for Kasm Workspaces
\ No newline at end of file
diff --git a/docs/ubuntu-noble-dind/README.md b/docs/ubuntu-noble-dind/README.md
new file mode 100644
index 0000000..dff8028
--- /dev/null
+++ b/docs/ubuntu-noble-dind/README.md
@@ -0,0 +1,13 @@
+# About This Image
+
+This Image contains a browser-accessible version of [Docker](https://www.docker.com/).
+
+![Screenshot][Image_Screenshot]
+
+[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/image-screenshots/ubuntu-jammy-dind.png "Image Screenshot"
+
+See [Kasm Docs](https://kasmweb.com/docs/latest/how_to/docker_in_kasm.html) for additional setup instructions.
+
+# Environment Variables
+
+* `APP_ARGS` - Additional arguments to pass to the application when launched.
diff --git a/docs/ubuntu-noble-dind/demo.txt b/docs/ubuntu-noble-dind/demo.txt
new file mode 100644
index 0000000..ed5ae83
--- /dev/null
+++ b/docs/ubuntu-noble-dind/demo.txt
@@ -0,0 +1,9 @@
+# Live Demo
+
+**Launch a real-time demo in a new browser window:** Live Demo.
+
+
+
+∗*Docker will not be functional in the demo for security reasons.*
+
+∗*Note: Demo is limited to 3 minutes and has upload/downloads restricted for security purposes.*
diff --git a/docs/ubuntu-noble-dind/description.txt b/docs/ubuntu-noble-dind/description.txt
new file mode 100644
index 0000000..3f8c02c
--- /dev/null
+++ b/docs/ubuntu-noble-dind/description.txt
@@ -0,0 +1 @@
+Docker for Kasm Workspaces
\ No newline at end of file
diff --git a/src/ubuntu/install/firefox/install_firefox.sh b/src/ubuntu/install/firefox/install_firefox.sh
index 4096143..782b016 100644
--- a/src/ubuntu/install/firefox/install_firefox.sh
+++ b/src/ubuntu/install/firefox/install_firefox.sh
@@ -32,9 +32,18 @@ Pin-Priority: 1001
fi
apt-get install -y firefox p11-kit-modules
elif grep -q "ID=debian" /etc/os-release || grep -q "ID=kali" /etc/os-release || grep -q "ID=parrot" /etc/os-release; then
- echo \
- "deb http://deb.debian.org/debian/ unstable main contrib non-free" >> \
- /etc/apt/sources.list
+ if grep -q "bullseye" /etc/os-release; then
+ apt-get update
+ apt-get install -y firefox-esr p11-kit-modules
+ rm -f $HOME/Desktop/firefox.desktop
+ cp \
+ /usr/share/applications/firefox-esr.desktop \
+ $HOME/Desktop/
+ chmod +x $HOME/Desktop/firefox-esr.desktop
+ else
+ echo \
+ "deb http://deb.debian.org/debian/ unstable main contrib non-free" >> \
+ /etc/apt/sources.list
cat > /etc/apt/preferences.d/99pin-unstable <