diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 92563ea..2447ae6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,7 +11,7 @@ variables:
BASE_TAG: "develop"
USE_PRIVATE_IMAGES: 0
KASM_RELEASE: "1.14.0"
- TEST_INSTALLER: "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.14.0.7f3582.tar.gz"
+ TEST_INSTALLER: "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_backend/1e99090dadb026f1e37e34e53334da20061bc21c/kasm_workspaces_feature_tester-1.15-pre-release_1.15.0.1e9909.tar.gz"
before_script:
- export SANITIZED_BRANCH="$(echo $CI_COMMIT_REF_NAME | sed -r 's#^release/##' | sed 's/\//_/g')"
diff --git a/ci-scripts/template-vars.yaml b/ci-scripts/template-vars.yaml
index 748b941..d5c07ac 100644
--- a/ci-scripts/template-vars.yaml
+++ b/ci-scripts/template-vars.yaml
@@ -340,6 +340,15 @@ multiImages:
- src/ubuntu/install/langpacks/**
- src/ubuntu/install/cleanup/**
- src/alpine/install/**
+ - name: alpine-319-desktop
+ singleapp: false
+ base: core-alpine-319
+ dockerfile: dockerfile-kasm-alpine-319-desktop
+ changeFiles:
+ - dockerfile-kasm-alpine-319-desktop
+ - src/ubuntu/install/langpacks/**
+ - src/ubuntu/install/cleanup/**
+ - src/alpine/install/**
- name: brave
singleapp: true
base: core-ubuntu-focal
@@ -424,6 +433,19 @@ multiImages:
- src/ubuntu/install/cleanup/**
- src/ubuntu/install/chromium/**
- src/ubuntu/install/slack/**
+ - name: fedora-39-desktop
+ singleapp: false
+ base: core-fedora-39
+ dockerfile: dockerfile-kasm-fedora-39-desktop
+ changeFiles:
+ - dockerfile-kasm-fedora-39-desktop
+ - src/oracle/install/**
+ - src/ubuntu/install/thunderbird/**
+ - src/ubuntu/install/remmina/**
+ - src/ubuntu/install/firefox/**
+ - src/ubuntu/install/cleanup/**
+ - src/ubuntu/install/chromium/**
+ - src/ubuntu/install/slack/**
- name: kali-rolling-desktop
singleapp: false
base: core-kali-rolling
diff --git a/ci-scripts/test.sh b/ci-scripts/test.sh
index c107d31..1bfe94f 100755
--- a/ci-scripts/test.sh
+++ b/ci-scripts/test.sh
@@ -188,7 +188,7 @@ ssh \
ready_check
# Pull tester image
-docker pull ${ORG_NAME}/kasm-tester:1.14.2
+docker pull ${ORG_NAME}/kasm-tester:1.15.0
# Run test
cp /root/.ssh/id_rsa $(dirname ${CI_PROJECT_DIR})/sshkey
@@ -210,7 +210,7 @@ docker run --rm \
-e REPO=workspaces-images \
-e AUTOMATED=true \
-v $(dirname ${CI_PROJECT_DIR})/sshkey:/sshkey:ro ${SLIM_FLAG} \
- kasmweb/kasm-tester:1.14.2
+ kasmweb/kasm-tester:1.15.0
# Shutdown Instances
turnoff
diff --git a/dockerfile-kasm-almalinux-8-desktop b/dockerfile-kasm-almalinux-8-desktop
index ce09479..1667fd5 100644
--- a/dockerfile-kasm-almalinux-8-desktop
+++ b/dockerfile-kasm-almalinux-8-desktop
@@ -39,7 +39,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-almalinux-9-desktop b/dockerfile-kasm-almalinux-9-desktop
index 94511bd..3884d5f 100644
--- a/dockerfile-kasm-almalinux-9-desktop
+++ b/dockerfile-kasm-almalinux-9-desktop
@@ -37,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-alpine-317-desktop b/dockerfile-kasm-alpine-317-desktop
index 91aee5c..8f398d0 100644
--- a/dockerfile-kasm-alpine-317-desktop
+++ b/dockerfile-kasm-alpine-317-desktop
@@ -14,10 +14,9 @@ ENV SKIP_CLEAN=true \
INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/alpine/install/tools/install_tools_deluxe.sh \
/alpine/install/misc/install_tools.sh \
- /alpine/install/chromium/install_chromium.sh \
/alpine/install/firefox/install_firefox.sh \
/alpine/install/remmina/install_remmina.sh \
- /alpine/install/gimp/gimp/install_gimp.sh \
+ /alpine/install/gimp/install_gimp.sh \
/alpine/install/ansible/install_ansible.sh \
/alpine/install/terraform/install_terraform.sh \
/alpine/install/thunderbird/install_thunderbird.sh \
@@ -38,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-alpine-318-desktop b/dockerfile-kasm-alpine-318-desktop
index 561560f..0653dfa 100644
--- a/dockerfile-kasm-alpine-318-desktop
+++ b/dockerfile-kasm-alpine-318-desktop
@@ -14,10 +14,9 @@ ENV SKIP_CLEAN=true \
INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/alpine/install/tools/install_tools_deluxe.sh \
/alpine/install/misc/install_tools.sh \
- /alpine/install/chromium/install_chromium.sh \
/alpine/install/firefox/install_firefox.sh \
/alpine/install/remmina/install_remmina.sh \
- /alpine/install/gimp/gimp/install_gimp.sh \
+ /alpine/install/gimp/install_gimp.sh \
/alpine/install/ansible/install_ansible.sh \
/alpine/install/terraform/install_terraform.sh \
/alpine/install/thunderbird/install_thunderbird.sh \
@@ -38,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-alpine-319-desktop b/dockerfile-kasm-alpine-319-desktop
new file mode 100644
index 0000000..71645e7
--- /dev/null
+++ b/dockerfile-kasm-alpine-319-desktop
@@ -0,0 +1,54 @@
+ARG BASE_TAG="develop"
+ARG BASE_IMAGE="core-alpine-319"
+FROM kasmweb/$BASE_IMAGE:$BASE_TAG
+
+USER root
+
+ENV DISTRO=alpine319
+ENV HOME /home/kasm-default-profile
+ENV STARTUPDIR /dockerstartup
+WORKDIR $HOME
+
+### Envrionment config
+ENV SKIP_CLEAN=true \
+ INST_DIR=$STARTUPDIR/install \
+ INST_SCRIPTS="/alpine/install/tools/install_tools_deluxe.sh \
+ /alpine/install/misc/install_tools.sh \
+ /alpine/install/firefox/install_firefox.sh \
+ /alpine/install/remmina/install_remmina.sh \
+ /alpine/install/gimp/install_gimp.sh \
+ /alpine/install/ansible/install_ansible.sh \
+ /alpine/install/terraform/install_terraform.sh \
+ /alpine/install/thunderbird/install_thunderbird.sh \
+ /alpine/install/audacity/install_audacity.sh \
+ /alpine/install/blender/install_blender.sh \
+ /alpine/install/geany/install_geany.sh \
+ /alpine/install/inkscape/install_inkscape.sh \
+ /alpine/install/libre_office/install_libre_office.sh \
+ /alpine/install/pinta/install_pinta.sh \
+ /alpine/install/obs/install_obs.sh \
+ /alpine/install/filezilla/install_filezilla.sh \
+ /ubuntu/install/langpacks/install_langpacks.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/dockerfile-kasm-centos-7-desktop b/dockerfile-kasm-centos-7-desktop
index c449465..3265ef5 100644
--- a/dockerfile-kasm-centos-7-desktop
+++ b/dockerfile-kasm-centos-7-desktop
@@ -25,7 +25,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-debian-bookworm-desktop b/dockerfile-kasm-debian-bookworm-desktop
index f284e7a..9e289e5 100644
--- a/dockerfile-kasm-debian-bookworm-desktop
+++ b/dockerfile-kasm-debian-bookworm-desktop
@@ -41,7 +41,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-debian-bullseye-desktop b/dockerfile-kasm-debian-bullseye-desktop
index 1b4794e..ef3c4b7 100644
--- a/dockerfile-kasm-debian-bullseye-desktop
+++ b/dockerfile-kasm-debian-bullseye-desktop
@@ -41,7 +41,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-fedora-37-desktop b/dockerfile-kasm-fedora-37-desktop
index 7444df1..4ea8511 100644
--- a/dockerfile-kasm-fedora-37-desktop
+++ b/dockerfile-kasm-fedora-37-desktop
@@ -25,7 +25,6 @@ ENV SKIP_CLEAN=true \
/oracle/install/gimp/install_gimp.sh \
/oracle/install/zoom/install_zoom.sh \
/oracle/install/ansible/install_ansible.sh \
- /oracle/install/terraform/install_terraform.sh \
/oracle/install/telegram/install_telegram.sh \
/ubuntu/install/thunderbird/install_thunderbird.sh \
/ubuntu/install/slack/install_slack.sh \
@@ -37,7 +36,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-fedora-38-desktop b/dockerfile-kasm-fedora-38-desktop
index 677b5d1..577bdde 100644
--- a/dockerfile-kasm-fedora-38-desktop
+++ b/dockerfile-kasm-fedora-38-desktop
@@ -4,7 +4,7 @@ FROM kasmweb/$BASE_IMAGE:$BASE_TAG
USER root
-ENV DISTRO=fedora37
+ENV DISTRO=fedora38
ENV HOME /home/kasm-default-profile
ENV STARTUPDIR /dockerstartup
WORKDIR $HOME
@@ -37,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-fedora-39-desktop b/dockerfile-kasm-fedora-39-desktop
new file mode 100644
index 0000000..2e73fc9
--- /dev/null
+++ b/dockerfile-kasm-fedora-39-desktop
@@ -0,0 +1,54 @@
+ARG BASE_TAG="develop"
+ARG BASE_IMAGE="core-fedora-39"
+FROM kasmweb/$BASE_IMAGE:$BASE_TAG
+
+USER root
+
+ENV DISTRO=fedora39
+ENV HOME /home/kasm-default-profile
+ENV STARTUPDIR /dockerstartup
+WORKDIR $HOME
+
+### Envrionment config
+ENV SKIP_CLEAN=true \
+ KASM_RX_HOME=$STARTUPDIR/kasmrx \
+ DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
+ INST_DIR=$STARTUPDIR/install \
+ INST_SCRIPTS="/oracle/install/tools/install_tools_deluxe.sh \
+ /oracle/install/misc/install_tools.sh \
+ /ubuntu/install/chromium/install_chromium.sh \
+ /ubuntu/install/firefox/install_firefox.sh \
+ /oracle/install/sublime_text/install_sublime_text.sh \
+ /oracle/install/vs_code/install_vs_code.sh \
+ /ubuntu/install/remmina/install_remmina.sh \
+ /oracle/install/only_office/install_only_office.sh \
+ /oracle/install/gimp/install_gimp.sh \
+ /oracle/install/zoom/install_zoom.sh \
+ /oracle/install/ansible/install_ansible.sh \
+ /oracle/install/terraform/install_terraform.sh \
+ /oracle/install/telegram/install_telegram.sh \
+ /ubuntu/install/thunderbird/install_thunderbird.sh \
+ /ubuntu/install/slack/install_slack.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/dockerfile-kasm-kali-rolling-desktop b/dockerfile-kasm-kali-rolling-desktop
index 1e1e75e..6bb3153 100644
--- a/dockerfile-kasm-kali-rolling-desktop
+++ b/dockerfile-kasm-kali-rolling-desktop
@@ -24,7 +24,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-opensuse-15-desktop b/dockerfile-kasm-opensuse-15-desktop
index 92cb9bd..cedbe50 100644
--- a/dockerfile-kasm-opensuse-15-desktop
+++ b/dockerfile-kasm-opensuse-15-desktop
@@ -39,7 +39,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-oracle-7-desktop b/dockerfile-kasm-oracle-7-desktop
index 53c32fe..2e2b513 100644
--- a/dockerfile-kasm-oracle-7-desktop
+++ b/dockerfile-kasm-oracle-7-desktop
@@ -25,7 +25,6 @@ ENV SKIP_CLEAN=true \
/oracle/install/gimp/install_gimp.sh \
/oracle/install/zoom/install_zoom.sh \
/oracle/install/ansible/install_ansible.sh \
- /oracle/install/terraform/install_terraform.sh \
/oracle/install/telegram/install_telegram.sh \
/ubuntu/install/thunderbird/install_thunderbird.sh \
/ubuntu/install/cleanup/cleanup.sh"
@@ -36,7 +35,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-oracle-8-desktop b/dockerfile-kasm-oracle-8-desktop
index 7b95ebe..fcf4264 100644
--- a/dockerfile-kasm-oracle-8-desktop
+++ b/dockerfile-kasm-oracle-8-desktop
@@ -39,7 +39,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-oracle-9-desktop b/dockerfile-kasm-oracle-9-desktop
index 170e531..0e5b2d2 100644
--- a/dockerfile-kasm-oracle-9-desktop
+++ b/dockerfile-kasm-oracle-9-desktop
@@ -38,7 +38,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-parrotos-5-desktop b/dockerfile-kasm-parrotos-5-desktop
index fba3f79..09e7904 100644
--- a/dockerfile-kasm-parrotos-5-desktop
+++ b/dockerfile-kasm-parrotos-5-desktop
@@ -24,7 +24,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-redroid b/dockerfile-kasm-redroid
index 28ce0a2..69ff1eb 100644
--- a/dockerfile-kasm-redroid
+++ b/dockerfile-kasm-redroid
@@ -37,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
@@ -52,4 +52,4 @@ ENV HOME /home/kasm-user
WORKDIR $HOME
USER 1000
-CMD ["--tail-log"]
\ No newline at end of file
+CMD ["--tail-log"]
diff --git a/dockerfile-kasm-rockylinux-8-desktop b/dockerfile-kasm-rockylinux-8-desktop
index d895089..c2481c2 100644
--- a/dockerfile-kasm-rockylinux-8-desktop
+++ b/dockerfile-kasm-rockylinux-8-desktop
@@ -39,7 +39,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-rockylinux-9-desktop b/dockerfile-kasm-rockylinux-9-desktop
index 38f7ed9..92d9907 100644
--- a/dockerfile-kasm-rockylinux-9-desktop
+++ b/dockerfile-kasm-rockylinux-9-desktop
@@ -37,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-spiderfoot b/dockerfile-kasm-spiderfoot
index 4801e1a..6c453f4 100644
--- a/dockerfile-kasm-spiderfoot
+++ b/dockerfile-kasm-spiderfoot
@@ -15,7 +15,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
KASM_RX_HOME=$STARTUPDIR/kasmrx \
DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
INST_DIR=$STARTUPDIR/install \
- INST_SCRIPTS="/ubuntu/install/tools/install_tools.sh \
+ INST_SCRIPTS="/ubuntu/install/tools/install_tools_deluxe.sh \
/ubuntu/install/firefox/install_firefox.sh \
/ubuntu/install/spiderfoot/install_spiderfoot.sh \
/ubuntu/install/cleanup/cleanup.sh"
@@ -31,7 +31,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-ubuntu-focal-desktop b/dockerfile-kasm-ubuntu-focal-desktop
index 2e35329..12fd841 100644
--- a/dockerfile-kasm-ubuntu-focal-desktop
+++ b/dockerfile-kasm-ubuntu-focal-desktop
@@ -42,7 +42,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-ubuntu-focal-desktop-vpn b/dockerfile-kasm-ubuntu-focal-desktop-vpn
index e7b4800..14d265d 100644
--- a/dockerfile-kasm-ubuntu-focal-desktop-vpn
+++ b/dockerfile-kasm-ubuntu-focal-desktop-vpn
@@ -43,7 +43,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-ubuntu-focal-dind b/dockerfile-kasm-ubuntu-focal-dind
index 41e302f..e02fd6c 100644
--- a/dockerfile-kasm-ubuntu-focal-dind
+++ b/dockerfile-kasm-ubuntu-focal-dind
@@ -34,7 +34,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-ubuntu-focal-dind-rootless b/dockerfile-kasm-ubuntu-focal-dind-rootless
index fcb38be..4731ef3 100644
--- a/dockerfile-kasm-ubuntu-focal-dind-rootless
+++ b/dockerfile-kasm-ubuntu-focal-dind-rootless
@@ -49,7 +49,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-ubuntu-jammy-desktop b/dockerfile-kasm-ubuntu-jammy-desktop
index e6da26a..8758d49 100644
--- a/dockerfile-kasm-ubuntu-jammy-desktop
+++ b/dockerfile-kasm-ubuntu-jammy-desktop
@@ -42,7 +42,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-ubuntu-jammy-dind b/dockerfile-kasm-ubuntu-jammy-dind
index 5e9f394..e03eca4 100644
--- a/dockerfile-kasm-ubuntu-jammy-dind
+++ b/dockerfile-kasm-ubuntu-jammy-dind
@@ -34,7 +34,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/dockerfile-kasm-ubuntu-jammy-dind-rootless b/dockerfile-kasm-ubuntu-jammy-dind-rootless
index 06fd7b4..d1522b4 100644
--- a/dockerfile-kasm-ubuntu-jammy-dind-rootless
+++ b/dockerfile-kasm-ubuntu-jammy-dind-rootless
@@ -49,7 +49,7 @@ COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
- bash ${INST_DIR}${SCRIPT}; \
+ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
diff --git a/docs/alpine-319-desktop/README.md b/docs/alpine-319-desktop/README.md
new file mode 100644
index 0000000..aa37479
--- /dev/null
+++ b/docs/alpine-319-desktop/README.md
@@ -0,0 +1,7 @@
+# About This Image
+
+This Image contains a browser-accessible Alpine 3.19 Desktop with various productivity and development apps installed.
+
+![Screenshot][Image_Screenshot]
+
+[Image_Screenshot]: https://info.kasmweb.com/hubfs/dockerhub/image-screenshots/alpine-317-desktop.png "Image Screenshot"
diff --git a/docs/alpine-319-desktop/demo.txt b/docs/alpine-319-desktop/demo.txt
new file mode 100644
index 0000000..0b606c7
--- /dev/null
+++ b/docs/alpine-319-desktop/demo.txt
@@ -0,0 +1,9 @@
+# Live Demo
+
+
+
+**Launch a real-time demo in a new browser window:** Live Demo.
+
+
+
+∗*Note: Demo is limited to 3 minutes and has upload/downloads restricted for security purposes.*
diff --git a/docs/alpine-319-desktop/description.txt b/docs/alpine-319-desktop/description.txt
new file mode 100644
index 0000000..ea19919
--- /dev/null
+++ b/docs/alpine-319-desktop/description.txt
@@ -0,0 +1 @@
+Alpine 3.19 desktop for Kasm Workspaces
diff --git a/docs/fedora-39-desktop/README.md b/docs/fedora-39-desktop/README.md
new file mode 100644
index 0000000..5f371a0
--- /dev/null
+++ b/docs/fedora-39-desktop/README.md
@@ -0,0 +1,7 @@
+# About This Image
+
+This Image contains a browser-accessible Fedora 39 Desktop with various productivity and development apps installed.
+
+![Screenshot][Image_Screenshot]
+
+[Image_Screenshot]: https://info.kasmweb.com/hubfs/dockerhub/image-screenshots/fedora-37-desktop.png "Image Screenshot"
diff --git a/docs/fedora-39-desktop/demo.txt b/docs/fedora-39-desktop/demo.txt
new file mode 100644
index 0000000..0b606c7
--- /dev/null
+++ b/docs/fedora-39-desktop/demo.txt
@@ -0,0 +1,9 @@
+# Live Demo
+
+
+
+**Launch a real-time demo in a new browser window:** Live Demo.
+
+
+
+∗*Note: Demo is limited to 3 minutes and has upload/downloads restricted for security purposes.*
diff --git a/docs/fedora-39-desktop/description.txt b/docs/fedora-39-desktop/description.txt
new file mode 100644
index 0000000..a649ce6
--- /dev/null
+++ b/docs/fedora-39-desktop/description.txt
@@ -0,0 +1 @@
+Fedora 39 desktop for Kasm Workspaces
diff --git a/src/alpine/install/terraform/install_terraform.sh b/src/alpine/install/terraform/install_terraform.sh
index 804757f..1a917ce 100644
--- a/src/alpine/install/terraform/install_terraform.sh
+++ b/src/alpine/install/terraform/install_terraform.sh
@@ -1,5 +1,10 @@
#!/usr/bin/env bash
set -ex
-apk add --no-cache \
- terraform
+if grep -q v3.19 /etc/os-release; then
+ apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \
+ opentofu
+else
+ apk add --no-cache \
+ terraform
+fi
diff --git a/src/opensuse/install/terraform/install_terraform.sh b/src/opensuse/install/terraform/install_terraform.sh
index 57428c1..36892ea 100644
--- a/src/opensuse/install/terraform/install_terraform.sh
+++ b/src/opensuse/install/terraform/install_terraform.sh
@@ -6,8 +6,7 @@ zypper install -yn \
terraform-provider-aws \
terraform-provider-azurerm \
terraform-provider-google \
- terraform-provider-kubernetes \
- terraform-provider-openstack
+ terraform-provider-kubernetes
if [ -z ${SKIP_CLEAN+x} ]; then
zypper clean --all
fi
diff --git a/src/oracle/install/ansible/install_ansible.sh b/src/oracle/install/ansible/install_ansible.sh
index cc6f992..d07cd32 100644
--- a/src/oracle/install/ansible/install_ansible.sh
+++ b/src/oracle/install/ansible/install_ansible.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -ex
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y ansible
if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all
diff --git a/src/oracle/install/gimp/install_gimp.sh b/src/oracle/install/gimp/install_gimp.sh
index 5a83349..83b370e 100644
--- a/src/oracle/install/gimp/install_gimp.sh
+++ b/src/oracle/install/gimp/install_gimp.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
set -ex
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y gimp
if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all
diff --git a/src/oracle/install/libre_office/install_libre_office.sh b/src/oracle/install/libre_office/install_libre_office.sh
index 3cc5e58..bf40005 100644
--- a/src/oracle/install/libre_office/install_libre_office.sh
+++ b/src/oracle/install/libre_office/install_libre_office.sh
@@ -7,7 +7,7 @@ if [ "$ARCH" == "amd64" ] ; then
exit 0
fi
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y \
libreoffice-core \
libreoffice-writer \
diff --git a/src/oracle/install/only_office/install_only_office.sh b/src/oracle/install/only_office/install_only_office.sh
index 73e20a0..67bdfe8 100644
--- a/src/oracle/install/only_office/install_only_office.sh
+++ b/src/oracle/install/only_office/install_only_office.sh
@@ -8,7 +8,7 @@ if [ "$ARCH" == "arm64" ] ; then
fi
curl -L -o only_office.rpm "https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors.$(arch).rpm"
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf localinstall -y only_office.rpm
if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all
diff --git a/src/oracle/install/slack/install_slack.sh b/src/oracle/install/slack/install_slack.sh
index 09e5ab4..589efe7 100644
--- a/src/oracle/install/slack/install_slack.sh
+++ b/src/oracle/install/slack/install_slack.sh
@@ -21,7 +21,7 @@ version=4.12.2
# This path may not be accurate once arm64 support arrives. Specifically I don't know if it will still be under x64
wget -q https://downloads.slack-edge.com/releases/linux/${version}/prod/x64/slack-${version}-0.1.fc21.x86_64.rpm -O slack.rpm
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf localinstall -y slack.rpm
if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all
diff --git a/src/oracle/install/sublime_text/install_sublime_text.sh b/src/oracle/install/sublime_text/install_sublime_text.sh
index 3e76aa8..e5d41f8 100644
--- a/src/oracle/install/sublime_text/install_sublime_text.sh
+++ b/src/oracle/install/sublime_text/install_sublime_text.sh
@@ -8,7 +8,7 @@ fi
rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf config-manager --add-repo https://download.sublimetext.com/rpm/stable/$(arch)/sublime-text.repo
dnf install -y sublime-text
if [ -z ${SKIP_CLEAN+x} ]; then
diff --git a/src/oracle/install/terraform/install_terraform.sh b/src/oracle/install/terraform/install_terraform.sh
index 3008849..3d16e87 100644
--- a/src/oracle/install/terraform/install_terraform.sh
+++ b/src/oracle/install/terraform/install_terraform.sh
@@ -14,7 +14,7 @@ if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almali
if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all
fi
-elif [[ "${DISTRO}" == @(fedora37|fedora38) ]]; then
+elif [[ "${DISTRO}" == @(fedora37|fedora38|fedora39) ]]; then
dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo
dnf install -y terraform
if [ -z ${SKIP_CLEAN+x} ]; then
diff --git a/src/oracle/install/vs_code/install_vs_code.sh b/src/oracle/install/vs_code/install_vs_code.sh
index 61a478d..f5d4058 100644
--- a/src/oracle/install/vs_code/install_vs_code.sh
+++ b/src/oracle/install/vs_code/install_vs_code.sh
@@ -3,11 +3,11 @@ set -ex
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/x64/g')
wget -q https://update.code.visualstudio.com/latest/linux-rpm-${ARCH}/stable -O vs_code.rpm
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
wget -q https://update.code.visualstudio.com/latest/linux-rpm-${ARCH}/stable -O vs_code.rpm
dnf localinstall -y vs_code.rpm
else
- wget -q https://packages.microsoft.com/yumrepos/vscode/code-1.65.2-1646927812.el7.x86_64.rpm -O vs_code.rpm
+ wget -q https://packages.microsoft.com/yumrepos/vscode/code-1.85.1-1702462241.el7.x86_64.rpm -O vs_code.rpm
yum localinstall -y vs_code.rpm
fi
mkdir -p /usr/share/icons/hicolor/apps
@@ -20,7 +20,7 @@ chown 1000:1000 $HOME/Desktop/code.desktop
rm vs_code.rpm
# Conveniences for python development
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y python3-setuptools python3-virtualenv
if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all
diff --git a/src/oracle/install/zoom/install_zoom.sh b/src/oracle/install/zoom/install_zoom.sh
index ec0b52a..8d3ccd1 100644
--- a/src/oracle/install/zoom/install_zoom.sh
+++ b/src/oracle/install/zoom/install_zoom.sh
@@ -8,7 +8,7 @@ fi
wget -q https://zoom.us/client/latest/zoom_$(arch).rpm
-if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf localinstall -y zoom_$(arch).rpm
if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all
diff --git a/src/ubuntu/install/chrome/install_chrome.sh b/src/ubuntu/install/chrome/install_chrome.sh
index bc4ded8..f11d8a7 100644
--- a/src/ubuntu/install/chrome/install_chrome.sh
+++ b/src/ubuntu/install/chrome/install_chrome.sh
@@ -63,6 +63,9 @@ chmod +x $HOME/Desktop/google-chrome.desktop
mv /usr/bin/google-chrome /usr/bin/google-chrome-orig
cat >/usr/bin/google-chrome < /dev/null;then
+ rm -f \$HOME/.config/google-chrome/Singleton*
+fi
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/google-chrome/Default/Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/google-chrome/Default/Preferences
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then
diff --git a/src/ubuntu/install/chromium/install_chromium.sh b/src/ubuntu/install/chromium/install_chromium.sh
index 88c2028..15fc092 100644
--- a/src/ubuntu/install/chromium/install_chromium.sh
+++ b/src/ubuntu/install/chromium/install_chromium.sh
@@ -9,8 +9,8 @@ if [[ "${DISTRO}" == @(debian|opensuse|ubuntu) ]] && [ ${ARCH} = 'amd64' ] && [
exit 0
fi
-if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
- if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
+ if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y chromium
if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all
@@ -105,6 +105,9 @@ fi
mv /usr/bin/${REAL_BIN} /usr/bin/${REAL_BIN}-orig
cat >/usr/bin/${REAL_BIN} < /dev/null;then
+ rm -f \$HOME/.config/chromium/Singleton*
+fi
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/Default/Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/chromium/Default/Preferences
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then
@@ -121,7 +124,7 @@ if [ "${DISTRO}" != "opensuse" ] && ! grep -q "ID=debian" /etc/os-release && ! g
cp /usr/bin/chromium-browser /usr/bin/chromium
fi
-if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38) ]]; then
+if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38|fedora39) ]]; then
cat >> $HOME/.config/mimeapps.list <"$preferences_file" <>$HOME/.mozilla/firefox/profiles.ini <>$HOME/.mozilla/firefox/profiles.ini <