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/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 916dd74..34dde71 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,6 +79,7 @@ multiImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/eclipse/** - name: libre-office + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-libre-office changeFiles: @@ -84,6 +94,7 @@ multiImages: - src/ubuntu/install/nessus/** - src/ubuntu/install/cleanup/** - name: opensuse-15-desktop + singleapp: false base: core-opensuse-15 dockerfile: dockerfile-kasm-opensuse-15-desktop changeFiles: @@ -99,6 +110,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: @@ -112,33 +124,43 @@ 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: + - 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 + 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: @@ -148,18 +170,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: @@ -168,12 +193,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: @@ -181,6 +208,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: @@ -207,6 +235,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: @@ -234,6 +263,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: @@ -260,18 +290,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: @@ -285,6 +318,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: @@ -297,6 +331,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: @@ -305,6 +340,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: @@ -312,7 +348,17 @@ 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 dockerfile: dockerfile-kasm-brave changeFiles: @@ -320,6 +366,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: @@ -344,6 +391,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: @@ -368,6 +416,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: @@ -380,6 +429,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: @@ -391,7 +441,21 @@ 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 dockerfile: dockerfile-kasm-kali-rolling-desktop changeFiles: @@ -400,12 +464,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: @@ -417,22 +483,25 @@ multiImages: - src/ubuntu/install/cleanup/** - src/ubuntu/install/chromium/** - src/ubuntu/install/slack/** - - name: parrotos-5-desktop - base: core-parrotos-5 - dockerfile: dockerfile-kasm-parrotos-5-desktop + - name: parrotos-6-desktop + singleapp: false + 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/** - 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: @@ -446,6 +515,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: @@ -458,12 +528,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: @@ -477,6 +549,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: @@ -490,6 +563,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: @@ -503,6 +577,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: @@ -517,6 +592,7 @@ multiImages: - src/ubuntu/install/chromium/** - src/ubuntu/install/chrome/** - name: vivaldi + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-vivaldi changeFiles: @@ -526,18 +602,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: @@ -547,6 +626,7 @@ singleImages: - src/ubuntu/install/cleanup/** - src/ubuntu/install/chrome/** - name: chrome + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-chrome changeFiles: @@ -555,6 +635,7 @@ singleImages: - src/ubuntu/install/certificates/** - src/ubuntu/install/chrome/** - name: desktop + singleapp: false base: core-ubuntu-focal dockerfile: dockerfile-kasm-desktop changeFiles: @@ -563,6 +644,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: @@ -585,12 +667,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: @@ -598,6 +682,7 @@ singleImages: - src/ubuntu/install/gtk/** - src/ubuntu/install/edge/** - name: hunchly + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-hunchly changeFiles: @@ -605,12 +690,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: @@ -618,11 +705,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: @@ -634,6 +723,7 @@ singleImages: - src/ubuntu/install/cleanup/** - src/ubuntu/install/chrome/** - name: postman + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-postman changeFiles: @@ -641,6 +731,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: @@ -648,18 +739,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: @@ -668,6 +772,7 @@ singleImages: - src/ubuntu/install/firefox/** - src/ubuntu/install/tracelabs/** - name: unityhub + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-unityhub changeFiles: @@ -676,6 +781,7 @@ singleImages: - src/ubuntu/install/chrome/** - src/ubuntu/install/unityhub/** - name: zoom + singleapp: true base: core-ubuntu-focal dockerfile: dockerfile-kasm-zoom changeFiles: @@ -683,6 +789,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/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-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-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-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-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-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-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-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-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-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-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-6-desktop similarity index 87% rename from dockerfile-kasm-parrotos-5-desktop rename to dockerfile-kasm-parrotos-6-desktop index fba3f79..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" @@ -24,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-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 new file mode 100644 index 0000000..69ff1eb --- /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/backgrounds/bg_kasm.png /usr/share/backgrounds/bg_default.png + +# 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-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-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-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..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" @@ -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 @@ -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-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..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 @@ -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-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/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 ########### 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/parrotos-5-desktop/demo.txt b/docs/alpine-319-desktop/demo.txt similarity index 100% rename from docs/parrotos-5-desktop/demo.txt rename to docs/alpine-319-desktop/demo.txt 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/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-6-desktop/demo.txt b/docs/parrotos-6-desktop/demo.txt new file mode 100644 index 0000000..0b606c7 --- /dev/null +++ b/docs/parrotos-6-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/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/docs/redroid/README.md b/docs/redroid/README.md new file mode 100644 index 0000000..564b635 --- /dev/null +++ b/docs/redroid/README.md @@ -0,0 +1,58 @@ +# About This Image + +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" +## 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. + + + +# 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_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/docs/redroid/demo.txt b/docs/redroid/demo.txt new file mode 100644 index 0000000..152a949 --- /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/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/android_studio/install_android_studio.sh b/src/ubuntu/install/android_studio/install_android_studio.sh new file mode 100644 index 0000000..b8ee382 --- /dev/null +++ b/src/ubuntu/install/android_studio/install_android_studio.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +set -ex + + +ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') +if [ "$ARCH" == "arm64" ] ; then + 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}" + +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 < /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 </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 @@ -102,3 +105,7 @@ mkdir -p /etc/opt/chrome/policies/managed/ cat >>/etc/opt/chrome/policies/managed/default_managed_policy.json </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 <>/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 <"$preferences_file" <>$HOME/.mozilla/firefox/profiles.ini <>$HOME/.mozilla/firefox/profiles.ini </usr/lib/hunchly/Hunchly </usr/share/applications/postman.desktop < /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 + elif [ -z "$URL" ] ; then + URL=$LAUNCH_URL + fi + + if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then + + echo "Entering process startup loop" + set +x + while true + do + if ! pgrep -x $DOCKER_PGREP > /dev/null + then + set +e + sudo /usr/bin/supervisord -n & + set -e + if [ "$REDROID_DISABLE_AUTOSTART" == "0" ]; then + start_android + fi + fi + if [ "$REDROID_DISABLE_AUTOSTART" == "0" ]; then + if ! pgrep -x $SCRCPY_PGREP > /dev/null + then + start_scrcpy + fi + fi + sleep 1 + done + set -x + + fi + +} + +/usr/bin/filter_ready +/usr/bin/desktop_ready + + +if [ "$REDROID_DISABLE_HOST_CHECKS" == "0" ]; then + check_modules +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 diff --git a/src/ubuntu/install/remmina/install_remmina.sh b/src/ubuntu/install/remmina/install_remmina.sh index f526264..4f649d4 100644 --- a/src/ubuntu/install/remmina/install_remmina.sh +++ b/src/ubuntu/install/remmina/install_remmina.sh @@ -1,13 +1,13 @@ #!/usr/bin/env bash set -ex -if [[ "${DISTRO}" == @(centos|oracle7|oracle8|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8|fedora37|fedora38) ]]; then +if [[ "${DISTRO}" == @(centos|oracle7|oracle8|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux8|almalinux8) ]]; then dnf install -y remmina remmina-plugins-rdp remmina-plugins-secret remmina-plugins-spice xdotool if [ -z ${SKIP_CLEAN+x} ]; then dnf clean all fi - elif [[ "${DISTRO}" == @(rockylinux9|oracle9|almalinux9|fedora37|fedora38) ]]; then + elif [[ "${DISTRO}" == @(rockylinux9|oracle9|almalinux9|fedora37|fedora38|fedora39) ]]; then dnf install -y remmina remmina-plugins-rdp remmina-plugins-secret xdotool if [ -z ${SKIP_CLEAN+x} ]; then dnf clean all @@ -25,7 +25,7 @@ elif [ "${DISTRO}" == "opensuse" ]; then fi elif grep -q "ID=debian" /etc/os-release; then apt-get update - apt-get install -y remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice xdotool + apt-get install -y remmina remmina-plugin-rdp remmina-plugin-secret xdotool if [ -z ${SKIP_CLEAN+x} ]; then apt-get autoclean rm -rf \ @@ -181,4 +181,7 @@ shareparallel=0 viewmode=4 EOF +# Cleanup for app layer +chown -R 1000:0 $HOME +find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \; chown -R 1000:1000 $DEFAULT_PROFILE_DIR diff --git a/src/ubuntu/install/retroarch/install_retroarch.sh b/src/ubuntu/install/retroarch/install_retroarch.sh index a3d536f..8146131 100644 --- a/src/ubuntu/install/retroarch/install_retroarch.sh +++ b/src/ubuntu/install/retroarch/install_retroarch.sh @@ -1,12 +1,17 @@ #!/usr/bin/env bash set -ex + +# Install Retroarch SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" add-apt-repository -y ppa:libretro/stable apt-get update -apt-get install -y retroarch +apt-get install -y retroarch unzip + +# Deskto icon cp /usr/share/applications/retroarch.desktop $HOME/Desktop/ chmod +x $HOME/Desktop/retroarch.desktop +# Assets install mkdir -p $HOME/.config/retroarch/{assets,cores} cp $SCRIPT_PATH/retroarch.cfg $HOME/.config/retroarch/retroarch.cfg echo "Downloading Assets" @@ -44,3 +49,7 @@ if [ -z ${SKIP_CLEAN+x} ]; then /var/lib/apt/lists/* \ /var/tmp/* fi + +# Cleanup for app layer +chown -R 1000:0 $HOME +find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \; diff --git a/src/ubuntu/install/signal/install_signal.sh b/src/ubuntu/install/signal/install_signal.sh index f562e68..d955eed 100644 --- a/src/ubuntu/install/signal/install_signal.sh +++ b/src/ubuntu/install/signal/install_signal.sh @@ -1,18 +1,29 @@ #!/usr/bin/env bash set -ex -ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') +# Install Signal +ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') if [ "${ARCH}" == "arm64" ] ; then echo "Signal for arm64 currently not supported, skipping install" exit 0 fi - - # Signal only releases its desktop app under the xenial release, however it is compatible with all versions of Debian and Ubuntu that we support. wget -O- https://updates.signal.org/desktop/apt/keys.asc | apt-key add - echo "deb [arch=${ARCH}] https://updates.signal.org/desktop/apt xenial main" | tee -a /etc/apt/sources.list.d/signal-xenial.list apt-get update - apt-get install -y signal-desktop + +# Desktop icon cp /usr/share/applications/signal-desktop.desktop $HOME/Desktop/ chmod +x $HOME/Desktop/signal-desktop.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/slack/install_slack.sh b/src/ubuntu/install/slack/install_slack.sh index 5604f66..632b436 100644 --- a/src/ubuntu/install/slack/install_slack.sh +++ b/src/ubuntu/install/slack/install_slack.sh @@ -12,18 +12,27 @@ version=$(curl -q https://slack.com/downloads/linux | grep page-downloads__hero_ echo Detected slack version $version -if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|opensuse) ]]; then +if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39|opensuse) ]]; then wget -q https://downloads.slack-edge.com/releases/linux/${version}/prod/x64/slack-${version}-0.1.el8.x86_64.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-${version}-0.1.el8.x86_64.rpm + if [ -z ${SKIP_CLEAN+x} ]; then + dnf clean all + fi elif [[ "${DISTRO}" == "opensuse" ]]; then wget https://slack.com/gpg/slack_pubkey_20230710.gpg rpm --import slack_pubkey_20230710.gpg zypper install -yn slack-${version}-0.1.el8.x86_64.rpm + if [ -z ${SKIP_CLEAN+x} ]; then + zypper clean --all + fi else yum localinstall -y slack-${version}-0.1.el8.x86_64.rpm + if [ -z ${SKIP_CLEAN+x} ]; then + yum clean all + fi fi rm slack-${version}-0.1.el8.x86_64.rpm @@ -33,6 +42,13 @@ else apt-get update apt-get install -y ./slack-desktop-${version}-${ARCH}.deb rm slack-desktop-${version}-${ARCH}.deb + if [ -z ${SKIP_CLEAN+x} ]; then + apt-get autoclean + rm -rf \ + /var/lib/apt/lists/* \ + /var/tmp/* \ + /tmp/* + fi fi @@ -40,3 +56,7 @@ sed -i 's,/usr/bin/slack,/usr/bin/slack --no-sandbox,g' /usr/share/applications/ cp /usr/share/applications/slack.desktop $HOME/Desktop/ chmod +x $HOME/Desktop/slack.desktop chown 1000:1000 $HOME/Desktop/slack.desktop + +# Cleanup for app layer +chown -R 1000:0 $HOME +find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \; diff --git a/src/ubuntu/install/spiderfoot/install_spiderfoot.sh b/src/ubuntu/install/spiderfoot/install_spiderfoot.sh index fe1c3f2..13a2b69 100644 --- a/src/ubuntu/install/spiderfoot/install_spiderfoot.sh +++ b/src/ubuntu/install/spiderfoot/install_spiderfoot.sh @@ -1,17 +1,29 @@ #!/usr/bin/env bash set -xe -echo "Install Spiderfoot" +SPIDERFOOT_VERSION=$(curl -sX GET "https://api.github.com/repos/smicallef/spiderfoot/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') + +# Install Spiderfoot +echo "Install Spiderfoot" apt-get update apt-get install -y python3-pip - SPIDERFOOT_HOME=$HOME/spiderfoot - mkdir -p $SPIDERFOOT_HOME cd $SPIDERFOOT_HOME -wget https://github.com/smicallef/spiderfoot/archive/v4.0.tar.gz -tar zxvf v4.0.tar.gz -cd spiderfoot-4.0 +wget https://github.com/smicallef/spiderfoot/archive/${SPIDERFOOT_VERSION}.tar.gz +tar zxvf ${SPIDERFOOT_VERSION}.tar.gz +rm ${SPIDERFOOT_VERSION}.tar.gz +cd spiderfoot-* pip3 install -r requirements.txt -chown -R 1000:1000 $SPIDERFOOT_HOME \ No newline at end of file +# 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/steam/install_steam.sh b/src/ubuntu/install/steam/install_steam.sh index 2a4f4a5..4a9791b 100644 --- a/src/ubuntu/install/steam/install_steam.sh +++ b/src/ubuntu/install/steam/install_steam.sh @@ -1,9 +1,22 @@ #!/usr/bin/env bash set -ex + +# Install Steam dpkg --add-architecture i386 apt-get update - apt-get install -y steam-installer + +# Desktop icon cp /usr/share/applications/steam.desktop $HOME/Desktop/ chmod +x $HOME/Desktop/steam.desktop -chown 1000:1000 $HOME/Desktop/steam.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/sublime_text/install_sublime_text.sh b/src/ubuntu/install/sublime_text/install_sublime_text.sh index c811142..62c36b6 100644 --- a/src/ubuntu/install/sublime_text/install_sublime_text.sh +++ b/src/ubuntu/install/sublime_text/install_sublime_text.sh @@ -1,14 +1,25 @@ #!/usr/bin/env bash set -ex +# Install Sublime Text apt-get update wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | apt-key add - apt-get install -y apt-transport-https echo "deb https://download.sublimetext.com/ apt/stable/" | tee /etc/apt/sources.list.d/sublime-text.list apt-get update - apt-get install -y sublime-text +# Desktop icon cp /usr/share/applications/sublime_text.desktop $HOME/Desktop/ chmod +x $HOME/Desktop/sublime_text.desktop -chown 1000:1000 $HOME/Desktop/sublime_text.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/super_tux_kart/install_super_tux_kart.sh b/src/ubuntu/install/super_tux_kart/install_super_tux_kart.sh index 2d2f6f4..ffe5a19 100644 --- a/src/ubuntu/install/super_tux_kart/install_super_tux_kart.sh +++ b/src/ubuntu/install/super_tux_kart/install_super_tux_kart.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash set -ex + +# VERSION="1.3" ARCH=$(uname -m | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') build=64bit @@ -49,3 +51,14 @@ cat >/usr/bin/desktop_ready </usr/share/applications/telegram.desktop <