From efa319d2ebdaac2488b9ce810369e0424a137726 Mon Sep 17 00:00:00 2001 From: Justin Travis Date: Thu, 28 Dec 2023 16:19:09 -0500 Subject: [PATCH 01/10] KASM-1209 Redroid Images with Android Studio --- ci-scripts/template-vars.yaml | 14 +++ dockerfile-kasm-redroid | 55 +++++++++++ docs/redroid/README.md | 11 +++ docs/redroid/demo.txt | 9 ++ docs/redroid/description.txt | 1 + .../android_studio/install_android_studio.sh | 43 ++++++++ src/ubuntu/install/redroid/custom_startup.sh | 98 +++++++++++++++++++ src/ubuntu/install/redroid/install_redroid.sh | 18 ++++ 8 files changed, 249 insertions(+) create mode 100644 dockerfile-kasm-redroid create mode 100644 docs/redroid/README.md create mode 100644 docs/redroid/demo.txt create mode 100644 docs/redroid/description.txt create mode 100644 src/ubuntu/install/android_studio/install_android_studio.sh create mode 100644 src/ubuntu/install/redroid/custom_startup.sh create mode 100644 src/ubuntu/install/redroid/install_redroid.sh diff --git a/ci-scripts/template-vars.yaml b/ci-scripts/template-vars.yaml index fe446cc..7c665ae 100644 --- a/ci-scripts/template-vars.yaml +++ b/ci-scripts/template-vars.yaml @@ -115,6 +115,20 @@ multiImages: changeFiles: - dockerfile-kasm-qbittorrent - src/ubuntu/install/qbittorrent/** + - name: redroid + base: core-ubuntu-jammy + dockerfile: dockerfile-kasm-redroid + changeFiles: + - dockerfile-kasm-redroid + - src/ubuntu/install/redroid/** + - src/ubuntu/install/android_studio/** + - src/ubuntu/install/misc/** + - src/ubuntu/install/sublime_text/** + - src/ubuntu/install/vs_code/** + - src/ubuntu/install/chrome/** + - src/ubuntu/install/chromium/** + - src/ubuntu/install/tools/** + - src/ubuntu/install/cleanup/** - name: remmina base: core-ubuntu-focal dockerfile: dockerfile-kasm-remmina diff --git a/dockerfile-kasm-redroid b/dockerfile-kasm-redroid new file mode 100644 index 0000000..9d25435 --- /dev/null +++ b/dockerfile-kasm-redroid @@ -0,0 +1,55 @@ +ARG BASE_TAG="develop" +ARG BASE_IMAGE="core-ubuntu-jammy" +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/redroid/install_redroid.sh \ + /ubuntu/install/android_studio/install_android_studio.sh \ + /ubuntu/install/cleanup/cleanup.sh" + +# Startup Scripts +COPY ./src/ubuntu/install/redroid/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/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png + +# Copy install scripts +COPY ./src/ $INST_DIR + +# Run installations +RUN \ + for SCRIPT in $INST_SCRIPTS; do \ + bash ${INST_DIR}${SCRIPT}; \ + 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"] \ No newline at end of file diff --git a/docs/redroid/README.md b/docs/redroid/README.md new file mode 100644 index 0000000..97850a5 --- /dev/null +++ b/docs/redroid/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Redroid](https://github.com/remote-android/redroid-doc). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/redroid.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/redroid/demo.txt b/docs/redroid/demo.txt new file mode 100644 index 0000000..8064874 --- /dev/null +++ b/docs/redroid/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/redroid/description.txt b/docs/redroid/description.txt new file mode 100644 index 0000000..0a86cd8 --- /dev/null +++ b/docs/redroid/description.txt @@ -0,0 +1 @@ +Redroid (Remote-Android) for Kasm Workspaces diff --git a/src/ubuntu/install/android_studio/install_android_studio.sh b/src/ubuntu/install/android_studio/install_android_studio.sh new file mode 100644 index 0000000..effb50d --- /dev/null +++ b/src/ubuntu/install/android_studio/install_android_studio.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +set -ex + + +ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') +if [ "$ARCH" == "arm64" ] ; then + echo "Chrome not supported on arm64, skipping Chrome installation" + exit 0 +fi + +apt-get update +apt-get install -y libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386 openjdk-18-jdk + +ANDROID_STUDIO_DOWNLOAD_URL="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2023.1.1.26/android-studio-2023.1.1.26-linux.tar.gz" + +curl -o /tmp/android_studio.tar.gz -L "${ANDROID_STUDIO_DOWNLOAD_URL}" + +mkdir -p /opt +cd /tmp +tar -zxvf /tmp/android_studio.tar.gz -C /opt/ +rm /tmp/android_studio.tar.gz +ln -sf /opt/android-studio/bin/studio.sh /bin/android-studio +chown 1000:1000 /opt/android-studio + + +cat >/usr/share/applications/android-studio.desktop < /dev/null + then + /usr/bin/filter_ready + /usr/bin/desktop_ready + set +e + sudo /usr/bin/supervisord -n & + set -e + start_android + fi + if ! pgrep -x $SCRCPY_PGREP > /dev/null + then + /usr/bin/filter_ready + /usr/bin/desktop_ready + start_scrcpy + fi + sleep 1 + done + set -x + + fi + +} + +kasm_startup diff --git a/src/ubuntu/install/redroid/install_redroid.sh b/src/ubuntu/install/redroid/install_redroid.sh new file mode 100644 index 0000000..198cf36 --- /dev/null +++ b/src/ubuntu/install/redroid/install_redroid.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +set -ex + +ARCH=$(arch | sed 's/x86_64/amd64/g') + +apt-get update +apt-get install -y android-tools-adb android-tools-fastboot \ + ffmpeg libsdl2-2.0-0 adb wget \ + gcc git pkg-config meson ninja-build libsdl2-dev \ + libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \ + libswresample-dev libusb-1.0-0 libusb-1.0-0-dev jq + + +mkdir -p /opt/ +cd /opt/ +git clone https://github.com/Genymobile/scrcpy +cd scrcpy +./install_release.sh \ No newline at end of file From 3cd02e4952e22ad0d2c33dc6a754ffe0baa0252f Mon Sep 17 00:00:00 2001 From: Justin Travis Date: Thu, 28 Dec 2023 19:13:07 -0500 Subject: [PATCH 02/10] KASM-1209 Check for host modules --- docs/redroid/README.md | 12 +++++- docs/redroid/demo.txt | 4 +- src/ubuntu/install/redroid/custom_startup.sh | 42 ++++++++++++-------- 3 files changed, 39 insertions(+), 19 deletions(-) diff --git a/docs/redroid/README.md b/docs/redroid/README.md index 97850a5..e2f62ea 100644 --- a/docs/redroid/README.md +++ b/docs/redroid/README.md @@ -5,7 +5,17 @@ This Image contains a browser-accessible version of [Redroid](https://github.com ![Screenshot][Image_Screenshot] [Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/redroid.png "Image Screenshot" +## Important !! + +This image requires host level kernel modules to be installed and loaded. +See [Redroid Docs](https://github.com/remote-android/redroid-doc?tab=readme-ov-file#getting-started) for more details + # Environment Variables -* `APP_ARGS` - Additional arguments to pass to the application when launched. +* `REDROID_GPU_GUEST_MODE` - Used to instruct redroid to utilize GPU rendering. Options are `auto`, `guest`, and `host` +* `REDROID_FPS` - Set the maximum FPS for redroid and scrcpy +* `REDROID_WIDTH` - Set the desired width of the redroid device +* `REDROID_HEIGHT` - Set the desired height of the redroid device +* `REDROID_DPI` - Set the desired DPI of the redroid device +* `REDROID_SHOW_CONSOLE` - Display the scrcpy console after launching the redroid device. \ No newline at end of file diff --git a/docs/redroid/demo.txt b/docs/redroid/demo.txt index 8064874..6eb92d4 100644 --- a/docs/redroid/demo.txt +++ b/docs/redroid/demo.txt @@ -1,9 +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/src/ubuntu/install/redroid/custom_startup.sh b/src/ubuntu/install/redroid/custom_startup.sh index d956bca..793c7b8 100644 --- a/src/ubuntu/install/redroid/custom_startup.sh +++ b/src/ubuntu/install/redroid/custom_startup.sh @@ -7,32 +7,44 @@ DEFAULT_ARGS="-n" ARGS=${APP_ARGS:-$DEFAULT_ARGS} ANDROID_VERSION=${ANDROID_VERSION:-"13.0.0"} REDROID_GPU_GUEST_MODE=${REDROID_GPU_GUEST_MODE:-"guest"} -REDROID_FPS=${REDROID_FPS:-"60"} +REDROID_FPS=${REDROID_FPS:-"30"} REDROID_WIDTH=${REDROID_WIDTH:-"720"} REDROID_HEIGHT=${REDROID_HEIGHT:-"1280"} REDROID_DPI=${REDROID_DPI:-"320"} REDROID_SHOW_CONSOLE=${REDROID_SHOW_CONSOLE:-"1"} +ICON_ERROR="/usr/share/icons/ubuntu-mono-dark/status/22/system-devices-panel-alert.svg" + + LAUNCH_CONFIG='/dockerstartup/redroid_launch_selections.json' # Launch Config Based Workflow if [ -e ${LAUNCH_CONFIG} ]; then ANDROID_VERSION="$(jq -r '.android_version' ${LAUNCH_CONFIG})" fi -function audio_patch() { - # The devices start with audio quite low - set +e - for ((i=1; i<=10; i++)); do - adb -s localhost:5555 shell input keyevent KEYCODE_VOLUME_UP & - sleep 0.2 - done - set -e +function check_modules() { + if lsmod | grep -q binder_linux; then + echo "binder_linux module is loaded." + else + msg="Host level module binder_linux is not loaded. Cannot continue.\nSee https://github.com/remote-android/redroid-doc?tab=readme-ov-file#getting-started for more details." + echo msg + notify-send -u critical -t 0 -i "${ICON_ERROR}" "Redroid Error" "${msg}" + exit 1 + fi + + # Check for ashmem_linux module + if lsmod | grep -q ashmem_linux; then + echo "ashmem_linux module is loaded." + else + msg="Host level module ashmem_linux is not loaded. Cannot continue.\nSee https://github.com/remote-android/redroid-doc?tab=readme-ov-file#getting-started for more details." + echo msg + notify-send -u critical -t 0 -i "${ICON_ERROR}" "Redroid Error" "${msg}" + exit 1 + fi } start_android() { - /usr/bin/filter_ready - /usr/bin/desktop_ready sleep 5 xfce4-terminal --hide-menubar --command "bash -c \"sudo docker pull redroid/redroid:${ANDROID_VERSION}-latest \"" sudo docker run -itd --rm --privileged \ @@ -48,7 +60,6 @@ start_android() { sleep 2 adb connect localhost:5555 sleep 5 - audio_patch } start_scrcpy() { @@ -74,8 +85,6 @@ kasm_startup() { do if ! pgrep -x $DOCKER_PGREP > /dev/null then - /usr/bin/filter_ready - /usr/bin/desktop_ready set +e sudo /usr/bin/supervisord -n & set -e @@ -83,8 +92,6 @@ kasm_startup() { fi if ! pgrep -x $SCRCPY_PGREP > /dev/null then - /usr/bin/filter_ready - /usr/bin/desktop_ready start_scrcpy fi sleep 1 @@ -95,4 +102,7 @@ kasm_startup() { } +/usr/bin/filter_ready +/usr/bin/desktop_ready +check_modules kasm_startup From 92fecee17205e312291696fb787ff15cca64855c Mon Sep 17 00:00:00 2001 From: Justin Travis Date: Fri, 29 Dec 2023 09:15:27 -0500 Subject: [PATCH 03/10] KASM-1209 Add ability to disable autostart and host checks --- docs/redroid/README.md | 4 +++- src/ubuntu/install/redroid/custom_startup.sh | 20 +++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/redroid/README.md b/docs/redroid/README.md index e2f62ea..c16f83a 100644 --- a/docs/redroid/README.md +++ b/docs/redroid/README.md @@ -18,4 +18,6 @@ See [Redroid Docs](https://github.com/remote-android/redroid-doc?tab=readme-ov-f * `REDROID_WIDTH` - Set the desired width of the redroid device * `REDROID_HEIGHT` - Set the desired height of the redroid device * `REDROID_DPI` - Set the desired DPI of the redroid device -* `REDROID_SHOW_CONSOLE` - Display the scrcpy console after launching the redroid device. \ No newline at end of file +* `REDROID_SHOW_CONSOLE` - Display the scrcpy console after launching the redroid device. +* `REDROID_DISABLE_AUTOSTART` - If set to "1", the container will not automatically pull and start the redroid container and scrcpy. +* `REDROID_DISABLE_HOST_CHECKS` - If set to "1", the container will not check for the presence of required host level kernel modules. diff --git a/src/ubuntu/install/redroid/custom_startup.sh b/src/ubuntu/install/redroid/custom_startup.sh index 793c7b8..f8bd860 100644 --- a/src/ubuntu/install/redroid/custom_startup.sh +++ b/src/ubuntu/install/redroid/custom_startup.sh @@ -12,6 +12,8 @@ REDROID_WIDTH=${REDROID_WIDTH:-"720"} REDROID_HEIGHT=${REDROID_HEIGHT:-"1280"} REDROID_DPI=${REDROID_DPI:-"320"} REDROID_SHOW_CONSOLE=${REDROID_SHOW_CONSOLE:-"1"} +REDROID_DISABLE_AUTOSTART=${REDROID_DISABLE_AUTOSTART:-"0"} +REDROID_DISABLE_HOST_CHECKS=${REDROID_DISABLE_HOST_CHECKS:-"0"} ICON_ERROR="/usr/share/icons/ubuntu-mono-dark/status/22/system-devices-panel-alert.svg" @@ -88,11 +90,15 @@ kasm_startup() { set +e sudo /usr/bin/supervisord -n & set -e - start_android + if [ "$REDROID_DISABLE_AUTOSTART" == "0" ]; then + start_android + fi fi - if ! pgrep -x $SCRCPY_PGREP > /dev/null - then - start_scrcpy + if [ "$REDROID_DISABLE_AUTOSTART" == "0" ]; then + if ! pgrep -x $SCRCPY_PGREP > /dev/null + then + start_scrcpy + fi fi sleep 1 done @@ -104,5 +110,9 @@ kasm_startup() { /usr/bin/filter_ready /usr/bin/desktop_ready -check_modules + + +if [ "$REDROID_DISABLE_HOST_CHECKS" == "0" ]; then + check_modules +fi kasm_startup From ec9e124bd30601b833b2857a5abcbf37fb283301 Mon Sep 17 00:00:00 2001 From: Justin Travis Date: Mon, 1 Jan 2024 09:59:08 -0500 Subject: [PATCH 04/10] KASM-1209 Cleanup --- docs/redroid/README.md | 9 +++++---- docs/redroid/demo.txt | 6 +++--- .../install/android_studio/install_android_studio.sh | 4 +++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/redroid/README.md b/docs/redroid/README.md index c16f83a..abfa1ec 100644 --- a/docs/redroid/README.md +++ b/docs/redroid/README.md @@ -1,6 +1,7 @@ # About This Image This Image contains a browser-accessible version of [Redroid](https://github.com/remote-android/redroid-doc). +redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution. ![Screenshot][Image_Screenshot] @@ -14,10 +15,10 @@ See [Redroid Docs](https://github.com/remote-android/redroid-doc?tab=readme-ov-f # Environment Variables * `REDROID_GPU_GUEST_MODE` - Used to instruct redroid to utilize GPU rendering. Options are `auto`, `guest`, and `host` -* `REDROID_FPS` - Set the maximum FPS for redroid and scrcpy -* `REDROID_WIDTH` - Set the desired width of the redroid device -* `REDROID_HEIGHT` - Set the desired height of the redroid device -* `REDROID_DPI` - Set the desired DPI of the redroid device +* `REDROID_FPS` - Set the maximum FPS for redroid and scrcpy. +* `REDROID_WIDTH` - Set the desired width of the redroid device. +* `REDROID_HEIGHT` - Set the desired height of the redroid device. +* `REDROID_DPI` - Set the desired DPI of the redroid device. * `REDROID_SHOW_CONSOLE` - Display the scrcpy console after launching the redroid device. * `REDROID_DISABLE_AUTOSTART` - If set to "1", the container will not automatically pull and start the redroid container and scrcpy. * `REDROID_DISABLE_HOST_CHECKS` - If set to "1", the container will not check for the presence of required host level kernel modules. diff --git a/docs/redroid/demo.txt b/docs/redroid/demo.txt index 6eb92d4..152a949 100644 --- a/docs/redroid/demo.txt +++ b/docs/redroid/demo.txt @@ -1,9 +1,9 @@ # Live Demo - + -**Launch a real-time demo in a new browser window:** 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/src/ubuntu/install/android_studio/install_android_studio.sh b/src/ubuntu/install/android_studio/install_android_studio.sh index effb50d..b8ee382 100644 --- a/src/ubuntu/install/android_studio/install_android_studio.sh +++ b/src/ubuntu/install/android_studio/install_android_studio.sh @@ -4,13 +4,15 @@ set -ex ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') if [ "$ARCH" == "arm64" ] ; then - echo "Chrome not supported on arm64, skipping Chrome installation" + echo "Android studio not supported on arm64, skipping installation" exit 0 fi apt-get update apt-get install -y libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386 openjdk-18-jdk +# https://developer.android.com/studio/archive +# curl https://developer.android.com/studio | grep android-studio | grep -i "linux.tar.gz" | grep ide-zips | cut -d '"' -f2 ANDROID_STUDIO_DOWNLOAD_URL="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2023.1.1.26/android-studio-2023.1.1.26-linux.tar.gz" curl -o /tmp/android_studio.tar.gz -L "${ANDROID_STUDIO_DOWNLOAD_URL}" From a3e65e252ae4e4c01ec255fd8abcf25812a6aa57 Mon Sep 17 00:00:00 2001 From: Matthew McClaskey Date: Fri, 5 Jan 2024 20:05:46 +0000 Subject: [PATCH 05/10] KASM-5359 update background locations --- dockerfile-kasm-atom | 2 +- dockerfile-kasm-audacity | 2 +- dockerfile-kasm-blender | 2 +- dockerfile-kasm-brave | 2 +- dockerfile-kasm-chrome | 2 +- dockerfile-kasm-chromium | 2 +- dockerfile-kasm-deluge | 2 +- dockerfile-kasm-desktop | 2 +- dockerfile-kasm-desktop-deluxe | 2 +- dockerfile-kasm-discord | 2 +- dockerfile-kasm-doom | 2 +- dockerfile-kasm-edge | 2 +- dockerfile-kasm-filezilla | 2 +- dockerfile-kasm-firefox | 2 +- dockerfile-kasm-gimp | 2 +- dockerfile-kasm-inkscape | 2 +- dockerfile-kasm-insomnia | 2 +- dockerfile-kasm-libre-office | 2 +- dockerfile-kasm-maltego | 2 +- dockerfile-kasm-minetest | 2 +- dockerfile-kasm-only-office | 2 +- dockerfile-kasm-pinta | 2 +- dockerfile-kasm-postman | 2 +- dockerfile-kasm-qbittorrent | 2 +- dockerfile-kasm-realvnc-vncviewer | 2 +- dockerfile-kasm-redroid | 2 +- dockerfile-kasm-remmina | 2 +- dockerfile-kasm-remnux-focal-desktop | 2 +- dockerfile-kasm-retroarch | 2 +- dockerfile-kasm-signal | 2 +- dockerfile-kasm-slack | 2 +- dockerfile-kasm-spiderfoot | 2 +- dockerfile-kasm-steam | 2 +- dockerfile-kasm-sublime-text | 2 +- dockerfile-kasm-super-tux-kart | 2 +- dockerfile-kasm-teams | 2 +- dockerfile-kasm-telegram | 2 +- dockerfile-kasm-terminal | 2 +- dockerfile-kasm-thunderbird | 2 +- dockerfile-kasm-tor-browser | 2 +- dockerfile-kasm-vivaldi | 2 +- dockerfile-kasm-vlc | 2 +- dockerfile-kasm-vmware-horizon | 2 +- dockerfile-kasm-vs-code | 2 +- dockerfile-kasm-zoom | 2 +- dockerfile-kasm-zsnes | 2 +- 46 files changed, 46 insertions(+), 46 deletions(-) diff --git a/dockerfile-kasm-atom b/dockerfile-kasm-atom index 6575782..2118cb4 100644 --- a/dockerfile-kasm-atom +++ b/dockerfile-kasm-atom @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-audacity b/dockerfile-kasm-audacity index 72b703f..7e15c35 100644 --- a/dockerfile-kasm-audacity +++ b/dockerfile-kasm-audacity @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-blender b/dockerfile-kasm-blender index 452a200..0afb290 100644 --- a/dockerfile-kasm-blender +++ b/dockerfile-kasm-blender @@ -20,7 +20,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-brave b/dockerfile-kasm-brave index c3e4133..b036393 100644 --- a/dockerfile-kasm-brave +++ b/dockerfile-kasm-brave @@ -17,7 +17,7 @@ RUN bash $INST_SCRIPTS/brave/install_brave.sh && rm -rf $INST_SCRIPTS/brave/ # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel # Security modifications diff --git a/dockerfile-kasm-chrome b/dockerfile-kasm-chrome index eee86f2..4d917cd 100644 --- a/dockerfile-kasm-chrome +++ b/dockerfile-kasm-chrome @@ -17,7 +17,7 @@ RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel # Security modifications diff --git a/dockerfile-kasm-chromium b/dockerfile-kasm-chromium index 0b10095..5c336ef 100644 --- a/dockerfile-kasm-chromium +++ b/dockerfile-kasm-chromium @@ -16,7 +16,7 @@ RUN bash $INST_SCRIPTS/chromium/install_chromium.sh && rm -rf $INST_SCRIPTS/chro # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel # Security modifications diff --git a/dockerfile-kasm-deluge b/dockerfile-kasm-deluge index 1ffa754..b4c5007 100644 --- a/dockerfile-kasm-deluge +++ b/dockerfile-kasm-deluge @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-desktop b/dockerfile-kasm-desktop index ec45dcf..2ae404c 100644 --- a/dockerfile-kasm-desktop +++ b/dockerfile-kasm-desktop @@ -11,7 +11,7 @@ WORKDIR $HOME ######### Customize Container Here ########### # Add Kasm Branding -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN cp /usr/share/extra/icons/icon_kasm.png /usr/share/extra/icons/icon_default.png RUN sed -i 's/ubuntu-mono-dark/elementary-xfce/g' $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml diff --git a/dockerfile-kasm-desktop-deluxe b/dockerfile-kasm-desktop-deluxe index 2102f58..89ec569 100644 --- a/dockerfile-kasm-desktop-deluxe +++ b/dockerfile-kasm-desktop-deluxe @@ -15,7 +15,7 @@ ENV INST_SCRIPTS $STARTUPDIR/install ENV DONT_PROMPT_WSL_INSTALL "No_Prompt_please" # Add Kasm Branding -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN cp /usr/share/extra/icons/icon_kasm.png /usr/share/extra/icons/icon_default.png RUN sed -i 's/ubuntu-mono-dark/elementary-xfce/g' $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml diff --git a/dockerfile-kasm-discord b/dockerfile-kasm-discord index fc084c8..0ba3203 100644 --- a/dockerfile-kasm-discord +++ b/dockerfile-kasm-discord @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-doom b/dockerfile-kasm-doom index 4589f65..3003fc3 100644 --- a/dockerfile-kasm-doom +++ b/dockerfile-kasm-doom @@ -20,7 +20,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-edge b/dockerfile-kasm-edge index ba13eac..1381cc4 100644 --- a/dockerfile-kasm-edge +++ b/dockerfile-kasm-edge @@ -17,7 +17,7 @@ RUN bash $INST_SCRIPTS/edge/install_edge.sh && rm -rf $INST_SCRIPTS/edge/ # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ENV KASM_RESTRICTED_FILE_CHOOSER=1 diff --git a/dockerfile-kasm-filezilla b/dockerfile-kasm-filezilla index c6027d3..daf6308 100644 --- a/dockerfile-kasm-filezilla +++ b/dockerfile-kasm-filezilla @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-firefox b/dockerfile-kasm-firefox index 1b9661c..ca69d58 100644 --- a/dockerfile-kasm-firefox +++ b/dockerfile-kasm-firefox @@ -18,7 +18,7 @@ RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefo # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel # Security modifications diff --git a/dockerfile-kasm-gimp b/dockerfile-kasm-gimp index 0ae0c98..40cefb0 100644 --- a/dockerfile-kasm-gimp +++ b/dockerfile-kasm-gimp @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-inkscape b/dockerfile-kasm-inkscape index a5570b6..3140c99 100644 --- a/dockerfile-kasm-inkscape +++ b/dockerfile-kasm-inkscape @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-insomnia b/dockerfile-kasm-insomnia index 4519345..49f5e6d 100644 --- a/dockerfile-kasm-insomnia +++ b/dockerfile-kasm-insomnia @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-libre-office b/dockerfile-kasm-libre-office index 87b7f67..eb837a0 100644 --- a/dockerfile-kasm-libre-office +++ b/dockerfile-kasm-libre-office @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-maltego b/dockerfile-kasm-maltego index a4dfc6d..3558a06 100644 --- a/dockerfile-kasm-maltego +++ b/dockerfile-kasm-maltego @@ -25,7 +25,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-minetest b/dockerfile-kasm-minetest index 1af465c..82c8b43 100644 --- a/dockerfile-kasm-minetest +++ b/dockerfile-kasm-minetest @@ -20,7 +20,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-only-office b/dockerfile-kasm-only-office index b7e655d..c8db558 100644 --- a/dockerfile-kasm-only-office +++ b/dockerfile-kasm-only-office @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-pinta b/dockerfile-kasm-pinta index 6b41251..c29de9e 100644 --- a/dockerfile-kasm-pinta +++ b/dockerfile-kasm-pinta @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-postman b/dockerfile-kasm-postman index 0ba9a28..4af4509 100644 --- a/dockerfile-kasm-postman +++ b/dockerfile-kasm-postman @@ -25,7 +25,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-qbittorrent b/dockerfile-kasm-qbittorrent index 4dfd5cd..01834ca 100644 --- a/dockerfile-kasm-qbittorrent +++ b/dockerfile-kasm-qbittorrent @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-realvnc-vncviewer b/dockerfile-kasm-realvnc-vncviewer index 6a32009..a6b8ab7 100644 --- a/dockerfile-kasm-realvnc-vncviewer +++ b/dockerfile-kasm-realvnc-vncviewer @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-redroid b/dockerfile-kasm-redroid index 9d25435..28ce0a2 100644 --- a/dockerfile-kasm-redroid +++ b/dockerfile-kasm-redroid @@ -29,7 +29,7 @@ ENV DEBUG=false \ COPY ./src/ubuntu/install/redroid/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/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png # Copy install scripts COPY ./src/ $INST_DIR diff --git a/dockerfile-kasm-remmina b/dockerfile-kasm-remmina index a36dc24..721ccc4 100644 --- a/dockerfile-kasm-remmina +++ b/dockerfile-kasm-remmina @@ -25,7 +25,7 @@ RUN chown -R 1000:1000 $HOME/.config/remmina/ # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-remnux-focal-desktop b/dockerfile-kasm-remnux-focal-desktop index e570f62..6134d39 100644 --- a/dockerfile-kasm-remnux-focal-desktop +++ b/dockerfile-kasm-remnux-focal-desktop @@ -11,7 +11,7 @@ WORKDIR $HOME ######### Customize Container Here ########### # Add Background -ADD /src/common/resources/images/bg_remnux.png /usr/share/extra/backgrounds/bg_default.png +ADD /src/common/resources/images/bg_remnux.png /usr/share/backgrounds/bg_default.png # Install Remnux Utils COPY ./src/ubuntu/install/remnux $INST_SCRIPTS/remnux/ diff --git a/dockerfile-kasm-retroarch b/dockerfile-kasm-retroarch index 7659ead..0bc2a9f 100644 --- a/dockerfile-kasm-retroarch +++ b/dockerfile-kasm-retroarch @@ -20,7 +20,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-signal b/dockerfile-kasm-signal index 03a82bb..2468b12 100644 --- a/dockerfile-kasm-signal +++ b/dockerfile-kasm-signal @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-slack b/dockerfile-kasm-slack index 20e8fbc..785f5c3 100644 --- a/dockerfile-kasm-slack +++ b/dockerfile-kasm-slack @@ -24,7 +24,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-spiderfoot b/dockerfile-kasm-spiderfoot index 775424e..4801e1a 100644 --- a/dockerfile-kasm-spiderfoot +++ b/dockerfile-kasm-spiderfoot @@ -23,7 +23,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ # Copy install scripts COPY ./src/ $INST_DIR -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png COPY ./src/ubuntu/install/spiderfoot/custom_startup.sh $STARTUPDIR/custom_startup.sh RUN chmod +x $STARTUPDIR/custom_startup.sh RUN chmod 755 $STARTUPDIR/custom_startup.sh diff --git a/dockerfile-kasm-steam b/dockerfile-kasm-steam index 612e525..54c7dda 100644 --- a/dockerfile-kasm-steam +++ b/dockerfile-kasm-steam @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-sublime-text b/dockerfile-kasm-sublime-text index f735299..d833711 100644 --- a/dockerfile-kasm-sublime-text +++ b/dockerfile-kasm-sublime-text @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-super-tux-kart b/dockerfile-kasm-super-tux-kart index 1e57596..44bb633 100644 --- a/dockerfile-kasm-super-tux-kart +++ b/dockerfile-kasm-super-tux-kart @@ -19,7 +19,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-teams b/dockerfile-kasm-teams index 59af37c..c9e1b60 100644 --- a/dockerfile-kasm-teams +++ b/dockerfile-kasm-teams @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-telegram b/dockerfile-kasm-telegram index b40f1ca..fbb6e42 100644 --- a/dockerfile-kasm-telegram +++ b/dockerfile-kasm-telegram @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-terminal b/dockerfile-kasm-terminal index 0bbaa26..cc62b43 100644 --- a/dockerfile-kasm-terminal +++ b/dockerfile-kasm-terminal @@ -35,7 +35,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-thunderbird b/dockerfile-kasm-thunderbird index cdc1974..9fd2e61 100644 --- a/dockerfile-kasm-thunderbird +++ b/dockerfile-kasm-thunderbird @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-tor-browser b/dockerfile-kasm-tor-browser index 350d39f..1312a2e 100644 --- a/dockerfile-kasm-tor-browser +++ b/dockerfile-kasm-tor-browser @@ -17,7 +17,7 @@ RUN bash $INST_SCRIPTS/torbrowser/install_torbrowser.sh && rm -rf $INST_SCRIPTS # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel # Security modifications diff --git a/dockerfile-kasm-vivaldi b/dockerfile-kasm-vivaldi index 2f62747..0881b3f 100644 --- a/dockerfile-kasm-vivaldi +++ b/dockerfile-kasm-vivaldi @@ -17,7 +17,7 @@ RUN bash $INST_SCRIPTS/vivaldi/install_vivaldi.sh && rm -rf $INST_SCRIPTS/vival # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel # Security modifications diff --git a/dockerfile-kasm-vlc b/dockerfile-kasm-vlc index d65a563..cd040cb 100644 --- a/dockerfile-kasm-vlc +++ b/dockerfile-kasm-vlc @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel diff --git a/dockerfile-kasm-vmware-horizon b/dockerfile-kasm-vmware-horizon index 71c81e7..0edf67c 100644 --- a/dockerfile-kasm-vmware-horizon +++ b/dockerfile-kasm-vmware-horizon @@ -20,7 +20,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-vs-code b/dockerfile-kasm-vs-code index 76a0c29..64d75c6 100644 --- a/dockerfile-kasm-vs-code +++ b/dockerfile-kasm-vs-code @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-zoom b/dockerfile-kasm-zoom index d210f78..4cb9c8a 100644 --- a/dockerfile-kasm-zoom +++ b/dockerfile-kasm-zoom @@ -23,7 +23,7 @@ RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### diff --git a/dockerfile-kasm-zsnes b/dockerfile-kasm-zsnes index 9444eb3..548d481 100644 --- a/dockerfile-kasm-zsnes +++ b/dockerfile-kasm-zsnes @@ -21,7 +21,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh # Update the desktop environment to be optimized for a single application RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ -RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png RUN apt-get remove -y xfce4-panel ######### End Customizations ########### From 7b1b4984a4f3480080afd5233c1e84e2d2a14ae4 Mon Sep 17 00:00:00 2001 From: Ryan Kuba Date: Tue, 9 Jan 2024 23:18:31 +0000 Subject: [PATCH 06/10] Resolve KASM-5341 "Feature/ app layers jammy" --- ci-scripts/app-layer.sh | 89 +++++++++++++++++++ ci-scripts/gitlab-ci.template | 10 ++- ci-scripts/template-vars.yaml | 89 +++++++++++++++++-- dockerfile-kasm-super-tux-kart | 2 +- src/ubuntu/install/atom/install_atom.sh | 14 +++ .../install/audacity/install_audacity.sh | 14 ++- src/ubuntu/install/blender/install_blender.sh | 17 ++++ src/ubuntu/install/brave/install_brave.sh | 10 ++- src/ubuntu/install/chrome/install_chrome.sh | 4 + .../install/chromium/install_chromium.sh | 4 + src/ubuntu/install/deluge/install_deluge.sh | 16 +++- src/ubuntu/install/discord/install_discord.sh | 4 + src/ubuntu/install/doom/install_doom.sh | 23 +++++ src/ubuntu/install/eclipse/install_eclipse.sh | 2 +- src/ubuntu/install/edge/install_edge.sh | 31 ++++--- .../install/filezilla/install_filezilla.sh | 14 ++- src/ubuntu/install/firefox/install_firefox.sh | 8 ++ src/ubuntu/install/gimp/install_gimp.sh | 16 +++- .../gtk/install_restricted_file_chooser.sh | 6 ++ src/ubuntu/install/hunchly/install_hunchly.sh | 39 ++++++-- .../install/inkscape/install_inkscape.sh | 13 ++- .../install/insomnia/install_insomnia.sh | 16 +++- .../libre_office/install_libre_office.sh | 14 +-- src/ubuntu/install/maltego/install_maltego.sh | 14 ++- .../install/minetest/install_minetest.sh | 9 +- .../only_office/install_only_office.sh | 14 ++- src/ubuntu/install/pinta/install_pinta.sh | 17 +++- src/ubuntu/install/postman/install_postman.sh | 16 +++- .../qbittorrent/install_qbittorrent.sh | 13 ++- src/ubuntu/install/remmina/install_remmina.sh | 3 + .../install/retroarch/install_retroarch.sh | 11 ++- src/ubuntu/install/signal/install_signal.sh | 19 +++- src/ubuntu/install/slack/install_slack.sh | 20 +++++ .../install/spiderfoot/install_spiderfoot.sh | 26 ++++-- src/ubuntu/install/steam/install_steam.sh | 17 +++- .../sublime_text/install_sublime_text.sh | 15 +++- .../super_tux_kart/install_super_tux_kart.sh | 13 +++ .../install/telegram/install_telegram.sh | 20 +++-- .../thunderbird/install_thunderbird.sh | 4 + .../install/torbrowser/install_torbrowser.sh | 13 ++- .../install/unityhub/install_unityhub.sh | 18 +++- src/ubuntu/install/vivaldi/install_vivaldi.sh | 5 ++ src/ubuntu/install/vlc/install_vlc.sh | 19 +++- src/ubuntu/install/vs_code/install_vs_code.sh | 11 ++- src/ubuntu/install/zoom/install_zoom.sh | 12 ++- src/ubuntu/install/zsnes/install_zsnes.sh | 20 ++++- 46 files changed, 684 insertions(+), 100 deletions(-) create mode 100644 ci-scripts/app-layer.sh diff --git a/ci-scripts/app-layer.sh b/ci-scripts/app-layer.sh new file mode 100644 index 0000000..7c29633 --- /dev/null +++ b/ci-scripts/app-layer.sh @@ -0,0 +1,89 @@ +#! /bin/bash + +# Ingest cli variables +## Parse input ## +NAME=$1 +TYPE=$2 +BASE=$3 +IS_ROLLING=$4 + +# Determine if this is a private or public build +if [[ "${CI_COMMIT_REF_NAME}" == release/* ]] || [[ "${CI_COMMIT_REF_NAME}" == "develop" ]]; then + ENDPOINT="${NAME}" + APPS="kasm-apps" +else + ENDPOINT="${NAME}-private" + APPS="kasm-apps-private" +fi + +# Determine if this is a rolling build +if [[ "${CI_PIPELINE_SOURCE}" == "schedule" ]] || [[ "${IS_ROLLING}" == "true" ]]; then + SANITIZED_BRANCH=${SANITIZED_BRANCH}-rolling +fi + +# Create workspace and base dockerfile +mkdir -p applayer +cd applayer +echo "FROM scratch" > Dockerfile +echo "ADD ./layer.tar /" >> Dockerfile + +# Clean up layer tar to not include overlay info +clean_tar () { + mkdir cleantar + tar xf layer.tar -C cleantar/ --exclude="**.wh**" + rm layer.tar + cd cleantar + tar -cf layer.tar * + mv layer.tar ../ + cd .. + rm -Rf cleantar/ +} + +# Multi arch +if [ "${TYPE}" == "multi" ]; then + for ARCH in x86_64 aarch64; do + # Create image tarballs + docker save -o $ARCH.tar ${ORG_NAME}/${ENDPOINT}:${ARCH}-${SANITIZED_BRANCH} + # Pull out the layer we are looking for + mkdir $ARCH + mv $ARCH.tar $ARCH + cd $ARCH + tar xf $ARCH.tar + LAYER_FOLDER=$(du -sk * |sort -nr | sed '3q;d' | awk '{print $2}') + mv $LAYER_FOLDER/layer.tar ../ + cd ../ + rm -Rf $ARCH + clean_tar + # build the image based on this single layer + docker build -t ${ORG_NAME}/${APPS}:${ARCH}-${BASE}-${NAME}-${SANITIZED_BRANCH} . + docker push ${ORG_NAME}/${APPS}:${ARCH}-${BASE}-${NAME}-${SANITIZED_BRANCH} + rm -f layer.tar + done + # Manifest + docker manifest push --purge ${ORG_NAME}/${APPS}:${BASE}-${NAME}-${SANITIZED_BRANCH} || : + docker manifest create ${ORG_NAME}/${APPS}:${BASE}-${NAME}-${SANITIZED_BRANCH} ${ORG_NAME}/${APPS}:x86_64-${BASE}-${NAME}-${SANITIZED_BRANCH} ${ORG_NAME}/${APPS}:aarch64-${BASE}-${NAME}-${SANITIZED_BRANCH} + docker manifest annotate ${ORG_NAME}/${APPS}:${BASE}-${NAME}-${SANITIZED_BRANCH} ${ORG_NAME}/${APPS}:aarch64-${BASE}-${NAME}-${SANITIZED_BRANCH} --os linux --arch arm64 --variant v8 + docker manifest push --purge ${ORG_NAME}/${APPS}:${BASE}-${NAME}-${SANITIZED_BRANCH} +# Single arch +else + # Create image tarballs + docker save -o image.tar ${ORG_NAME}/${ENDPOINT}:${SANITIZED_BRANCH} + # Pull out the layer we are looking for + mkdir image + mv image.tar image + cd image + tar xf image.tar + LAYER_FOLDER=$(du -sk * |sort -nr | sed '3q;d' | awk '{print $2}') + mv $LAYER_FOLDER/layer.tar ../ + cd ../ + rm -Rf image + clean_tar + # build the image based on this single layer + docker build -t ${ORG_NAME}/${APPS}:${BASE}-${NAME}-${SANITIZED_BRANCH} . + docker push ${ORG_NAME}/${APPS}:${BASE}-${NAME}-${SANITIZED_BRANCH} + rm -f layer.tar +fi + +# Cleanup +cd .. +rm -Rf applayer diff --git a/ci-scripts/gitlab-ci.template b/ci-scripts/gitlab-ci.template index 24548ff..1e75051 100644 --- a/ci-scripts/gitlab-ci.template +++ b/ci-scripts/gitlab-ci.template @@ -137,8 +137,9 @@ manifest_{{ IMAGE.name }}: stage: manifest when: always script: - - apk add bash - - bash ci-scripts/manifest.sh "{{ IMAGE.name }}" "multi" + - apk add bash tar + - bash ci-scripts/manifest.sh "{{ IMAGE.name }}" "multi"{% if IMAGE.singleapp %} + - bash ci-scripts/app-layer.sh "{{ IMAGE.name }}" "multi" "{{ IMAGE.base }}"{% endif %} {% if FILE_LIMITS %}only: changes: {% for FILE in files %}- {{ FILE }} @@ -162,8 +163,9 @@ manifest_{{ IMAGE.name }}: stage: manifest when: always script: - - apk add bash - - bash ci-scripts/manifest.sh "{{ IMAGE.name }}" "single" + - apk add bash tar + - bash ci-scripts/manifest.sh "{{ IMAGE.name }}" "single"{% if IMAGE.singleapp %} + - bash ci-scripts/app-layer.sh "{{ IMAGE.name }}" "single" "{{ IMAGE.base }}"{% endif %} {% if FILE_LIMITS %}only: changes: {% for FILE in files %}- {{ FILE }} diff --git a/ci-scripts/template-vars.yaml b/ci-scripts/template-vars.yaml index 7c665ae..748b941 100644 --- a/ci-scripts/template-vars.yaml +++ b/ci-scripts/template-vars.yaml @@ -5,12 +5,14 @@ files: &UNIVERSAL_CHANGE_FILES multiImages: - name: audacity + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-audacity changeFiles: - dockerfile-kasm-audacity - src/ubuntu/install/audacity/** - name: chromium + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-chromium changeFiles: @@ -19,24 +21,28 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/certificates/** - name: deluge + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-deluge changeFiles: - dockerfile-kasm-deluge - src/ubuntu/install/deluge/** - name: doom + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-doom changeFiles: - dockerfile-kasm-doom - src/ubuntu/install/doom/** - name: filezilla + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-filezilla changeFiles: - dockerfile-kasm-filezilla - src/ubuntu/install/filezilla/** - name: firefox + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-firefox changeFiles: @@ -45,18 +51,21 @@ multiImages: - src/ubuntu/install/firefox/** - src/ubuntu/install/certificates/** - name: gimp + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-gimp changeFiles: - dockerfile-kasm-gimp - src/ubuntu/install/gimp/** - name: inkscape + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-inkscape changeFiles: - dockerfile-kasm-inkscape - src/ubuntu/install/inkscape/** - name: java-dev + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-java-dev changeFiles: @@ -70,12 +79,14 @@ multiImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/eclipse/** - name: libre-office + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-libre-office changeFiles: - dockerfile-kasm-libre-office - src/ubuntu/install/libre_office/** - name: opensuse-15-desktop + singleapp: false base: core-opensuse-15 dockerfile: dockerfile-kasm-opensuse-15-desktop changeFiles: @@ -91,6 +102,7 @@ multiImages: - src/ubuntu/install/slack/** - src/opensuse/install/** - name: oracle-8-desktop + singleapp: false base: core-oracle-8 dockerfile: dockerfile-kasm-oracle-8-desktop changeFiles: @@ -104,18 +116,21 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - name: pinta + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-pinta changeFiles: - dockerfile-kasm-pinta - src/ubuntu/install/pinta/** - name: qbittorrent + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-qbittorrent changeFiles: - dockerfile-kasm-qbittorrent - src/ubuntu/install/qbittorrent/** - name: redroid + singleapp: false base: core-ubuntu-jammy dockerfile: dockerfile-kasm-redroid changeFiles: @@ -130,21 +145,14 @@ multiImages: - src/ubuntu/install/tools/** - src/ubuntu/install/cleanup/** - name: remmina + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-remmina changeFiles: - dockerfile-kasm-remmina - src/ubuntu/install/remmina/** - - name: slack - base: core-ubuntu-focal - dockerfile: dockerfile-kasm-slack - changeFiles: - - dockerfile-kasm-slack - - src/ubuntu/install/slack/** - - src/ubuntu/install/chrone/** - - src/ubuntu/install/tools/** - - src/ubuntu/install/cleanup/** - name: spiderfoot + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-spiderfoot changeFiles: @@ -154,18 +162,21 @@ multiImages: - src/ubuntu/install/tools/** - src/ubuntu/install/cleanup/** - name: sublime-text + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-sublime-text changeFiles: - dockerfile-kasm-sublime-text - src/ubuntu/install/sublime_text/** - name: telegram + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-telegram changeFiles: - dockerfile-kasm-telegram - src/ubuntu/install/telegram/** - name: terminal + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-terminal changeFiles: @@ -174,12 +185,14 @@ multiImages: - src/ubuntu/install/ansible/** - src/ubuntu/install/terminal/** - name: thunderbird + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-thunderbird changeFiles: - dockerfile-kasm-thunderbird - src/ubuntu/install/thunderbird/** - name: tor-browser + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-tor-browser changeFiles: @@ -187,6 +200,7 @@ multiImages: - src/ubuntu/install/gtk/** - src/ubuntu/install/torbrowser/** - name: ubuntu-focal-desktop + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-ubuntu-focal-desktop changeFiles: @@ -213,6 +227,7 @@ multiImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/slack/** - name: ubuntu-focal-desktop-vpn + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-ubuntu-focal-desktop-vpn changeFiles: @@ -240,6 +255,7 @@ multiImages: - src/ubuntu/install/slack/** - src/ubuntu/install/vpn/** - name: ubuntu-jammy-desktop + singleapp: false base: core-ubuntu-jammy dockerfile: dockerfile-kasm-ubuntu-jammy-desktop changeFiles: @@ -266,18 +282,21 @@ multiImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/slack/** - name: vlc + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-vlc changeFiles: - dockerfile-kasm-vlc - src/ubuntu/install/vlc/** - name: vs-code + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-vs-code changeFiles: - dockerfile-kasm-vs-code - src/ubuntu/install/vs_code/** - name: almalinux-8-desktop + singleapp: false base: core-almalinux-8 dockerfile: dockerfile-kasm-almalinux-8-desktop changeFiles: @@ -291,6 +310,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - name: almalinux-9-desktop + singleapp: false base: core-almalinux-9 dockerfile: dockerfile-kasm-almalinux-9-desktop changeFiles: @@ -303,6 +323,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - name: alpine-317-desktop + singleapp: false base: core-alpine-317 dockerfile: dockerfile-kasm-alpine-317-desktop changeFiles: @@ -311,6 +332,7 @@ multiImages: - src/ubuntu/install/cleanup/** - src/alpine/install/** - name: alpine-318-desktop + singleapp: false base: core-alpine-318 dockerfile: dockerfile-kasm-alpine-318-desktop changeFiles: @@ -319,6 +341,7 @@ multiImages: - src/ubuntu/install/cleanup/** - src/alpine/install/** - name: brave + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-brave changeFiles: @@ -326,6 +349,7 @@ multiImages: - src/ubuntu/install/gtk/** - src/ubuntu/install/brave/** - name: debian-bullseye-desktop + singleapp: false base: core-debian-bullseye dockerfile: dockerfile-kasm-debian-bullseye-desktop changeFiles: @@ -350,6 +374,7 @@ multiImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/slack/** - name: debian-bookworm-desktop + singleapp: false base: core-debian-bookworm dockerfile: dockerfile-kasm-debian-bookworm-desktop changeFiles: @@ -374,6 +399,7 @@ multiImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/slack/** - name: fedora-37-desktop + singleapp: false base: core-fedora-37 dockerfile: dockerfile-kasm-fedora-37-desktop changeFiles: @@ -386,6 +412,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - name: fedora-38-desktop + singleapp: false base: core-fedora-38 dockerfile: dockerfile-kasm-fedora-38-desktop changeFiles: @@ -398,6 +425,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - name: kali-rolling-desktop + singleapp: false base: core-kali-rolling dockerfile: dockerfile-kasm-kali-rolling-desktop changeFiles: @@ -406,12 +434,14 @@ multiImages: - src/ubuntu/install/cleanup/** - src/ubuntu/install/chromium/** - name: minetest + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-minetest changeFiles: - dockerfile-kasm-minetest - src/ubuntu/install/minetest/** - name: oracle-9-desktop + singleapp: false base: core-oracle-9 dockerfile: dockerfile-kasm-oracle-9-desktop changeFiles: @@ -424,6 +454,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - name: parrotos-5-desktop + singleapp: false base: core-parrotos-5 dockerfile: dockerfile-kasm-parrotos-5-desktop changeFiles: @@ -433,12 +464,14 @@ multiImages: - src/ubuntu/install/cleanup/** - src/ubuntu/install/chromium/** - name: retroarch + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-retroarch changeFiles: - dockerfile-kasm-retroarch - src/ubuntu/install/retroarch/** - name: rockylinux-8-desktop + singleapp: false base: core-rockylinux-8 dockerfile: dockerfile-kasm-rockylinux-8-desktop changeFiles: @@ -452,6 +485,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - name: rockylinux-9-desktop + singleapp: false base: core-rockylinux-9 dockerfile: dockerfile-kasm-rockylinux-9-desktop changeFiles: @@ -464,12 +498,14 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - name: super-tux-kart + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-super-tux-kart changeFiles: - dockerfile-kasm-super-tux-kart - src/ubuntu/install/super_tux_kart/** - name: ubuntu-focal-dind + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-ubuntu-focal-dind changeFiles: @@ -483,6 +519,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/chrome/** - name: ubuntu-focal-dind-rootless + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-ubuntu-focal-dind-rootless changeFiles: @@ -496,6 +533,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/chrome/** - name: ubuntu-jammy-dind + singleapp: false base: core-ubuntu-jammy dockerfile: dockerfile-kasm-ubuntu-jammy-dind changeFiles: @@ -509,6 +547,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/chrome/** - name: ubuntu-jammy-dind-rootless + singleapp: false base: core-ubuntu-jammy dockerfile: dockerfile-kasm-ubuntu-jammy-dind-rootless changeFiles: @@ -523,6 +562,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/chrome/** - name: vivaldi + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-vivaldi changeFiles: @@ -532,18 +572,21 @@ multiImages: - src/ubuntu/install/vivaldi/** singleImages: - name: atom + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-atom changeFiles: - dockerfile-kasm-atom - src/ubuntu/install/atom/** - name: blender + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-blender changeFiles: - dockerfile-kasm-blender - src/ubuntu/install/blender/** - name: centos-7-desktop + singleapp: false base: core-centos-7 dockerfile: dockerfile-kasm-centos-7-desktop changeFiles: @@ -553,6 +596,7 @@ singleImages: - src/ubuntu/install/cleanup/** - src/ubuntu/install/chrome/** - name: chrome + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-chrome changeFiles: @@ -561,6 +605,7 @@ singleImages: - src/ubuntu/install/certificates/** - src/ubuntu/install/chrome/** - name: desktop + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-desktop changeFiles: @@ -569,6 +614,7 @@ singleImages: - src/ubuntu/install/certificates/** - src/ubuntu/install/chrome/** - name: desktop-deluxe + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-desktop-deluxe changeFiles: @@ -591,12 +637,14 @@ singleImages: - src/ubuntu/install/ansible/** - src/ubuntu/install/chrome/** - name: discord + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-discord changeFiles: - dockerfile-kasm-discord - src/ubuntu/install/discord/** - name: edge + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-edge changeFiles: @@ -604,6 +652,7 @@ singleImages: - src/ubuntu/install/gtk/** - src/ubuntu/install/edge/** - name: hunchly + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-hunchly changeFiles: @@ -611,12 +660,14 @@ singleImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/hunchly/** - name: insomnia + singleapp: true base: core-ubuntu-jammy dockerfile: dockerfile-kasm-insomnia changeFiles: - dockerfile-kasm-insomnia - src/ubuntu/install/insomnia/** - name: maltego + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-maltego changeFiles: @@ -624,11 +675,13 @@ singleImages: - src/ubuntu/install/maltego/** - src/ubuntu/install/firefox/** - name: only-office + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-only-office changeFiles: - dockerfile-kasm-only-office - name: oracle-7-desktop + singleapp: false base: core-oracle-7 dockerfile: dockerfile-kasm-oracle-7-desktop changeFiles: @@ -640,6 +693,7 @@ singleImages: - src/ubuntu/install/cleanup/** - src/ubuntu/install/chrome/** - name: postman + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-postman changeFiles: @@ -647,6 +701,7 @@ singleImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/postman/** - name: remnux-focal-desktop + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-remnux-focal-desktop changeFiles: @@ -654,18 +709,31 @@ singleImages: - src/ubuntu/install/firefox/** - src/ubuntu/install/remnux/** - name: signal + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-signal changeFiles: - dockerfile-kasm-signal - src/ubuntu/install/signal/** + - name: slack + singleapp: true + base: core-ubuntu-focal + dockerfile: dockerfile-kasm-slack + changeFiles: + - dockerfile-kasm-slack + - src/ubuntu/install/slack/** + - src/ubuntu/install/chrome/** + - src/ubuntu/install/tools/** + - src/ubuntu/install/cleanup/** - name: steam + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-steam changeFiles: - dockerfile-kasm-steam - src/ubuntu/install/steam/** - name: tracelabs + singleapp: false base: core-kali-rolling dockerfile: dockerfile-kasm-tracelabs changeFiles: @@ -674,6 +742,7 @@ singleImages: - src/ubuntu/install/firefox/** - src/ubuntu/install/tracelabs/** - name: unityhub + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-unityhub changeFiles: @@ -682,6 +751,7 @@ singleImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/unityhub/** - name: zoom + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-zoom changeFiles: @@ -689,6 +759,7 @@ singleImages: - src/ubuntu/install/zoom/** - src/ubuntu/install/chrome/** - name: zsnes + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-zsnes changeFiles: diff --git a/dockerfile-kasm-super-tux-kart b/dockerfile-kasm-super-tux-kart index 44bb633..0132a47 100644 --- a/dockerfile-kasm-super-tux-kart +++ b/dockerfile-kasm-super-tux-kart @@ -1,5 +1,5 @@ ARG BASE_TAG="develop" -ARG BASE_IMAGE="core-ubuntu-jammy" +ARG BASE_IMAGE="core-ubuntu-focal" FROM kasmweb/$BASE_IMAGE:$BASE_TAG USER root diff --git a/src/ubuntu/install/atom/install_atom.sh b/src/ubuntu/install/atom/install_atom.sh index bfd0d85..bb224e7 100644 --- a/src/ubuntu/install/atom/install_atom.sh +++ b/src/ubuntu/install/atom/install_atom.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -ex +# Install Atom wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | apt-key add - echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" \ > /etc/apt/sources.list.d/atom.list @@ -8,5 +9,18 @@ apt-get update apt-get install -y atom # Desktop Icon +sed -i 's#/usr/bin/atom#/usr/bin/atom --no-sandbox#g' /usr/share/applications/atom.desktop cp /usr/share/applications/atom.desktop $HOME/Desktop/ chmod +x $HOME/Desktop/atom.desktop + +# Cleanup for app layer +chown -R 1000:0 $HOME +find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \; +if [ -z ${SKIP_CLEAN+x} ]; then + apt-get autoclean + rm -rf \ + /var/lib/apt/lists/* \ + /var/tmp/* \ + /tmp/* +fi + diff --git a/src/ubuntu/install/audacity/install_audacity.sh b/src/ubuntu/install/audacity/install_audacity.sh index 193649a..1b28555 100644 --- a/src/ubuntu/install/audacity/install_audacity.sh +++ b/src/ubuntu/install/audacity/install_audacity.sh @@ -1,7 +1,8 @@ #!/usr/bin/env bash set -ex -apt-get update +# Install Audacity +apt-get update apt-get install -y audacity rm -rf \ /var/lib/apt/lists/* \ @@ -12,3 +13,14 @@ mkdir -p $HOME/.audacity-data/ cp /dockerstartup/install/audacity/audacity.cfg $HOME/.audacity-data/ cp /usr/share/applications/audacity.desktop $HOME/Desktop/ chmod +x $HOME/Desktop/audacity.desktop + +# Cleanup for app layer +chown -R 1000:0 $HOME +find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \; +if [ -z ${SKIP_CLEAN+x} ]; then + apt-get autoclean + rm -rf \ + /var/lib/apt/lists/* \ + /var/tmp/* \ + /tmp/* +fi diff --git a/src/ubuntu/install/blender/install_blender.sh b/src/ubuntu/install/blender/install_blender.sh index 89dd7a9..3df7497 100644 --- a/src/ubuntu/install/blender/install_blender.sh +++ b/src/ubuntu/install/blender/install_blender.sh @@ -41,3 +41,20 @@ EOF chmod +x /usr/bin/blender rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* + +# Desktop icon +sed -i 's#Icon=blender#Icon=/blender/blender.svg#g' /blender/blender.desktop +cp /blender/blender.desktop /usr/share/applications/ +cp /usr/share/applications/blender.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/blender.desktop + +# Cleanup for app layer +chown -R 1000:0 $HOME +find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \; +if [ -z ${SKIP_CLEAN+x} ]; then + apt-get autoclean + rm -rf \ + /var/lib/apt/lists/* \ + /var/tmp/* \ + /tmp/* +fi diff --git a/src/ubuntu/install/brave/install_brave.sh b/src/ubuntu/install/brave/install_brave.sh index 4cce3bf..93b0981 100644 --- a/src/ubuntu/install/brave/install_brave.sh +++ b/src/ubuntu/install/brave/install_brave.sh @@ -19,6 +19,7 @@ sed -i 's/-stable//g' /usr/share/applications/brave-browser.desktop cp /usr/share/applications/brave-browser.desktop $HOME/Desktop/ chown 1000:1000 $HOME/Desktop/brave-browser.desktop +chmod +x $HOME/Desktop/brave-browser.desktop mv /usr/bin/brave-browser /usr/bin/brave-browser-orig cat >/usr/bin/brave-browser <>/usr/bin/x-www-browser <>/etc/brave/policies/managed/default_managed_policy.json <>/etc/opt/chrome/policies/managed/default_managed_policy.json <>/etc/chromium/policies/managed/default_managed_policy.json <$HOME/.local/share/chocolate-doom/chocolate-doom.cfg </usr/bin/desktop_ready </usr/bin/microsoft-edge-dev </usr/bin/microsoft-edge-stable <>/usr/bin/x-www-browser </usr/lib/hunchly/Hunchly </usr/share/applications/postman.desktop </usr/bin/desktop_ready </usr/share/applications/telegram.desktop < Date: Wed, 10 Jan 2024 08:07:47 -0500 Subject: [PATCH 07/10] KASM-5433 Remove ashmem check --- src/ubuntu/install/redroid/custom_startup.sh | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/ubuntu/install/redroid/custom_startup.sh b/src/ubuntu/install/redroid/custom_startup.sh index f8bd860..b6e056f 100644 --- a/src/ubuntu/install/redroid/custom_startup.sh +++ b/src/ubuntu/install/redroid/custom_startup.sh @@ -34,16 +34,6 @@ function check_modules() { notify-send -u critical -t 0 -i "${ICON_ERROR}" "Redroid Error" "${msg}" exit 1 fi - - # Check for ashmem_linux module - if lsmod | grep -q ashmem_linux; then - echo "ashmem_linux module is loaded." - else - msg="Host level module ashmem_linux is not loaded. Cannot continue.\nSee https://github.com/remote-android/redroid-doc?tab=readme-ov-file#getting-started for more details." - echo msg - notify-send -u critical -t 0 -i "${ICON_ERROR}" "Redroid Error" "${msg}" - exit 1 - fi } start_android() { From 24a9727ffe5f500c651dbc3769bff06ddefd0732 Mon Sep 17 00:00:00 2001 From: Ryan Kuba Date: Thu, 11 Jan 2024 11:39:34 +0000 Subject: [PATCH 08/10] KASM-5403 KASM-5399 fix chromium bug that will not launch if singleton locks... --- .gitlab-ci.yml | 2 +- ci-scripts/template-vars.yaml | 22 ++++++++ ci-scripts/test.sh | 4 +- dockerfile-kasm-almalinux-8-desktop | 2 +- dockerfile-kasm-almalinux-9-desktop | 2 +- dockerfile-kasm-alpine-317-desktop | 5 +- dockerfile-kasm-alpine-318-desktop | 5 +- dockerfile-kasm-alpine-319-desktop | 54 +++++++++++++++++++ dockerfile-kasm-centos-7-desktop | 2 +- dockerfile-kasm-debian-bookworm-desktop | 2 +- dockerfile-kasm-debian-bullseye-desktop | 2 +- dockerfile-kasm-fedora-37-desktop | 3 +- dockerfile-kasm-fedora-38-desktop | 4 +- dockerfile-kasm-fedora-39-desktop | 54 +++++++++++++++++++ dockerfile-kasm-kali-rolling-desktop | 2 +- dockerfile-kasm-opensuse-15-desktop | 2 +- dockerfile-kasm-oracle-7-desktop | 3 +- dockerfile-kasm-oracle-8-desktop | 2 +- dockerfile-kasm-oracle-9-desktop | 2 +- dockerfile-kasm-parrotos-5-desktop | 2 +- dockerfile-kasm-redroid | 4 +- dockerfile-kasm-rockylinux-8-desktop | 2 +- dockerfile-kasm-rockylinux-9-desktop | 2 +- dockerfile-kasm-spiderfoot | 4 +- dockerfile-kasm-ubuntu-focal-desktop | 2 +- dockerfile-kasm-ubuntu-focal-desktop-vpn | 2 +- dockerfile-kasm-ubuntu-focal-dind | 2 +- dockerfile-kasm-ubuntu-focal-dind-rootless | 2 +- dockerfile-kasm-ubuntu-jammy-desktop | 2 +- dockerfile-kasm-ubuntu-jammy-dind | 2 +- dockerfile-kasm-ubuntu-jammy-dind-rootless | 2 +- docs/alpine-319-desktop/README.md | 7 +++ docs/alpine-319-desktop/demo.txt | 9 ++++ docs/alpine-319-desktop/description.txt | 1 + docs/fedora-39-desktop/README.md | 7 +++ docs/fedora-39-desktop/demo.txt | 9 ++++ docs/fedora-39-desktop/description.txt | 1 + .../install/terraform/install_terraform.sh | 9 +++- .../install/terraform/install_terraform.sh | 3 +- src/oracle/install/ansible/install_ansible.sh | 2 +- src/oracle/install/gimp/install_gimp.sh | 2 +- .../libre_office/install_libre_office.sh | 2 +- .../only_office/install_only_office.sh | 2 +- src/oracle/install/slack/install_slack.sh | 2 +- .../sublime_text/install_sublime_text.sh | 2 +- .../install/terraform/install_terraform.sh | 2 +- src/oracle/install/vs_code/install_vs_code.sh | 6 +-- src/oracle/install/zoom/install_zoom.sh | 2 +- src/ubuntu/install/chrome/install_chrome.sh | 3 ++ .../install/chromium/install_chromium.sh | 9 ++-- src/ubuntu/install/cleanup/cleanup.sh | 2 +- src/ubuntu/install/firefox/install_firefox.sh | 32 ++++++----- src/ubuntu/install/remmina/install_remmina.sh | 6 +-- src/ubuntu/install/slack/install_slack.sh | 4 +- .../install/telegram/install_telegram.sh | 6 ++- .../thunderbird/install_thunderbird.sh | 6 +-- .../install/tools/install_tools_deluxe.sh | 1 + src/ubuntu/install/vpn/install_vpn.sh | 2 +- 58 files changed, 261 insertions(+), 80 deletions(-) create mode 100644 dockerfile-kasm-alpine-319-desktop create mode 100644 dockerfile-kasm-fedora-39-desktop create mode 100644 docs/alpine-319-desktop/README.md create mode 100644 docs/alpine-319-desktop/demo.txt create mode 100644 docs/alpine-319-desktop/description.txt create mode 100644 docs/fedora-39-desktop/README.md create mode 100644 docs/fedora-39-desktop/demo.txt create mode 100644 docs/fedora-39-desktop/description.txt 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 < Date: Thu, 11 Jan 2024 08:56:57 -0500 Subject: [PATCH 09/10] KASM-5433 Updates to redroid docs and startup - prevent duplicate scrcpy launches --- docs/redroid/README.md | 42 ++++++++++++++++++-- src/ubuntu/install/redroid/custom_startup.sh | 26 ++++++++++++ 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/docs/redroid/README.md b/docs/redroid/README.md index abfa1ec..564b635 100644 --- a/docs/redroid/README.md +++ b/docs/redroid/README.md @@ -1,15 +1,48 @@ # About This Image -This Image contains a browser-accessible version of [Redroid](https://github.com/remote-android/redroid-doc). +This experimental image contains a browser-accessible version of [Redroid](https://github.com/remote-android/redroid-doc). redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution. +The image utilizes Docker in Docker (DinD) to automate launching Redroid and [scrcpy docs](https://github.com/Genymobile/scrcpy). + ![Screenshot][Image_Screenshot] [Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/redroid.png "Image Screenshot" -## Important !! +## Host Dependencies + +This image requires the "binder_linux" host level kernel modules installed and enabled. + +Below is an example for installing binder_linux on Ubuntu 22.04 LTS host +``` +sudo apt install linux-modules-extra-`uname -r` +sudo modprobe binder_linux devices="binder,hwbinder,vndbinder" +``` +See [Redroid Docs](https://github.com/remote-android/redroid-doc?tab=readme-ov-file#getting-started) for more details. + + +## Container Permissions + +Using this container requires the `--privileged` flag to power both the Docker in Docker processes and the permissions +needed by the redroid containers + +``` +sudo docker run --rm -it --privileged --shm-size=512m -p 6901:6901 -e VNC_PW=password kasmweb/redroid:develop +``` + +## Example for installing binder_linux on Ubuntu 22.04 LTS host +``` +sudo apt install linux-modules-extra-`uname -r` +sudo modprobe binder_linux devices="binder,hwbinder,vndbinder" +``` + +The left ALT key is mapped as the hotkey for scrcpy + +- Alt+R - rotate the android device +- Alt+F - fullscreen the android device +- Alt+Up/Alt+Down - Increase the volume of the device + +See [scrcpy docs](https://github.com/Genymobile/scrcpy) for more details. -This image requires host level kernel modules to be installed and loaded. -See [Redroid Docs](https://github.com/remote-android/redroid-doc?tab=readme-ov-file#getting-started) for more details # Environment Variables @@ -22,3 +55,4 @@ See [Redroid Docs](https://github.com/remote-android/redroid-doc?tab=readme-ov-f * `REDROID_SHOW_CONSOLE` - Display the scrcpy console after launching the redroid device. * `REDROID_DISABLE_AUTOSTART` - If set to "1", the container will not automatically pull and start the redroid container and scrcpy. * `REDROID_DISABLE_HOST_CHECKS` - If set to "1", the container will not check for the presence of required host level kernel modules. +* `ANDROID_VERSION` - The version of android (redroid) image to automatically load. Options are `14.0.0`, `13.0.0` (Default), `12.0.0`, `11.0.0`, `10.0.0`, `9.0.0`, `8.1.0`. diff --git a/src/ubuntu/install/redroid/custom_startup.sh b/src/ubuntu/install/redroid/custom_startup.sh index b6e056f..1e4e4c6 100644 --- a/src/ubuntu/install/redroid/custom_startup.sh +++ b/src/ubuntu/install/redroid/custom_startup.sh @@ -53,6 +53,7 @@ start_android() { adb connect localhost:5555 sleep 5 } + start_scrcpy() { if [ "$REDROID_SHOW_CONSOLE" == "1" ]; then @@ -61,7 +62,32 @@ start_scrcpy() { scrcpy --audio-codec=aac -s localhost:5555 --shortcut-mod=lalt --print-fps --max-fps=${REDROID_FPS} fi + wait_for_process $SCRCPY_PGREP } + +wait_for_process() { + process_match=$1 + timeout=60 + interval=1 + elapsed_time=0 + + echo "Waiting for $process_match..." + while [[ $elapsed_time -lt $timeout ]]; do + if pgrep -x $process_match > /dev/null; then + echo "$process_match is running, continuing..." + break + fi + sleep $interval + elapsed_time=$((elapsed_time + interval)) + done + + if ! pgrep -x $process_match > /dev/null + then + echo "Did not find process $process_match" + fi + +} + kasm_startup() { if [ -n "$KASM_URL" ] ; then URL=$KASM_URL From 3bd5d03a308742d8d8341d26f83cedb4e77111f2 Mon Sep 17 00:00:00 2001 From: Ryan Kuba Date: Mon, 22 Jan 2024 15:21:10 +0000 Subject: [PATCH 10/10] Resolve KASM-5447 "Feature/ parrotos 6" --- ci-scripts/template-vars.yaml | 8 ++++---- ...rrotos-5-desktop => dockerfile-kasm-parrotos-6-desktop | 3 ++- docs/parrotos-5-desktop/description.txt | 1 - docs/{parrotos-5-desktop => parrotos-6-desktop}/README.md | 2 +- docs/{parrotos-5-desktop => parrotos-6-desktop}/demo.txt | 0 docs/parrotos-6-desktop/description.txt | 1 + src/ubuntu/install/cleanup/cleanup.sh | 2 +- src/ubuntu/install/parrot/install_parrot.sh | 3 ++- src/ubuntu/install/vpn/install_vpn.sh | 2 +- 9 files changed, 12 insertions(+), 10 deletions(-) rename dockerfile-kasm-parrotos-5-desktop => dockerfile-kasm-parrotos-6-desktop (91%) delete mode 100644 docs/parrotos-5-desktop/description.txt rename docs/{parrotos-5-desktop => parrotos-6-desktop}/README.md (78%) rename docs/{parrotos-5-desktop => parrotos-6-desktop}/demo.txt (100%) create mode 100644 docs/parrotos-6-desktop/description.txt diff --git a/ci-scripts/template-vars.yaml b/ci-scripts/template-vars.yaml index d5c07ac..7a89cef 100644 --- a/ci-scripts/template-vars.yaml +++ b/ci-scripts/template-vars.yaml @@ -475,12 +475,12 @@ multiImages: - src/ubuntu/install/cleanup/** - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - - name: parrotos-5-desktop + - name: parrotos-6-desktop singleapp: false - base: core-parrotos-5 - dockerfile: dockerfile-kasm-parrotos-5-desktop + base: core-parrotos-6 + dockerfile: dockerfile-kasm-parrotos-6-desktop changeFiles: - - dockerfile-kasm-parrotos-5-desktop + - dockerfile-kasm-parrotos-6-desktop - src/ubuntu/install/parrot/** - src/ubuntu/install/firefox/** - src/ubuntu/install/cleanup/** diff --git a/dockerfile-kasm-parrotos-5-desktop b/dockerfile-kasm-parrotos-6-desktop similarity index 91% rename from dockerfile-kasm-parrotos-5-desktop rename to dockerfile-kasm-parrotos-6-desktop index 09e7904..729ca05 100644 --- a/dockerfile-kasm-parrotos-5-desktop +++ b/dockerfile-kasm-parrotos-6-desktop @@ -1,5 +1,5 @@ ARG BASE_TAG="develop" -ARG BASE_IMAGE="core-parrotos-5" +ARG BASE_IMAGE="core-parrotos-6" FROM kasmweb/$BASE_IMAGE:$BASE_TAG USER root @@ -15,6 +15,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ INST_DIR=$STARTUPDIR/install \ INST_SCRIPTS="/ubuntu/install/parrot/install_parrot.sh \ /ubuntu/install/chromium/install_chromium.sh \ + /ubuntu/install/vs_code/install_vs_code.sh \ /ubuntu/install/firefox/install_firefox.sh \ /ubuntu/install/cleanup/cleanup.sh" diff --git a/docs/parrotos-5-desktop/description.txt b/docs/parrotos-5-desktop/description.txt deleted file mode 100644 index fd1f48a..0000000 --- a/docs/parrotos-5-desktop/description.txt +++ /dev/null @@ -1 +0,0 @@ -Parrot OS 5 desktop for Kasm Workspaces diff --git a/docs/parrotos-5-desktop/README.md b/docs/parrotos-6-desktop/README.md similarity index 78% rename from docs/parrotos-5-desktop/README.md rename to docs/parrotos-6-desktop/README.md index 4397b12..1fd23ff 100644 --- a/docs/parrotos-5-desktop/README.md +++ b/docs/parrotos-6-desktop/README.md @@ -1,6 +1,6 @@ # About This Image -This Image contains a browser-accessible Parrot OS 5 Desktop with various productivity and development apps installed. +This Image contains a browser-accessible Parrot OS 6 Desktop with various productivity and development apps installed. ![Screenshot][Image_Screenshot] diff --git a/docs/parrotos-5-desktop/demo.txt b/docs/parrotos-6-desktop/demo.txt similarity index 100% rename from docs/parrotos-5-desktop/demo.txt rename to docs/parrotos-6-desktop/demo.txt diff --git a/docs/parrotos-6-desktop/description.txt b/docs/parrotos-6-desktop/description.txt new file mode 100644 index 0000000..0779e1e --- /dev/null +++ b/docs/parrotos-6-desktop/description.txt @@ -0,0 +1 @@ +Parrot OS 6 desktop for Kasm Workspaces diff --git a/src/ubuntu/install/cleanup/cleanup.sh b/src/ubuntu/install/cleanup/cleanup.sh index 69f9274..b530370 100644 --- a/src/ubuntu/install/cleanup/cleanup.sh +++ b/src/ubuntu/install/cleanup/cleanup.sh @@ -8,7 +8,7 @@ elif [[ "${DISTRO}" == @(almalinux8|almalinux9|fedora37|fedora38|fedora39|oracle dnf clean all elif [ "${DISTRO}" == "opensuse" ]; then zypper clean --all -elif [[ "${DISTRO}" == @(debian|kali|parrotos5|ubuntu) ]]; then +elif [[ "${DISTRO}" == @(debian|kali|parrotos6|ubuntu) ]]; then apt-get autoremove -y apt-get autoclean -y fi diff --git a/src/ubuntu/install/parrot/install_parrot.sh b/src/ubuntu/install/parrot/install_parrot.sh index f358642..2c90502 100644 --- a/src/ubuntu/install/parrot/install_parrot.sh +++ b/src/ubuntu/install/parrot/install_parrot.sh @@ -21,7 +21,8 @@ apt-get install -y \ parrot-tools-forensics \ parrot-tools-reversing \ parrot-tools-cloud \ - powershell-empire- + powershell-empire- \ + codium- # Disable power manager rm -f /usr/share/xfce4/panel/plugins/power-manager-plugin.desktop diff --git a/src/ubuntu/install/vpn/install_vpn.sh b/src/ubuntu/install/vpn/install_vpn.sh index 6f86095..102d610 100644 --- a/src/ubuntu/install/vpn/install_vpn.sh +++ b/src/ubuntu/install/vpn/install_vpn.sh @@ -2,7 +2,7 @@ set -ex # Install OpenVPN/Wireguard deps -if [[ "${DISTRO}" == @(ubuntu|kali|debian|parrotos5) ]]; then +if [[ "${DISTRO}" == @(ubuntu|kali|debian|parrotos6) ]]; then echo "resolvconf resolvconf/linkify-resolvconf boolean false" | debconf-set-selections apt-get update apt-get install -y --no-install-recommends \