mirror of
https://github.com/kasmtech/workspaces-images.git
synced 2024-11-21 15:43:09 +01:00
Resolve KASM-5341 "Feature/ app layers jammy"
This commit is contained in:
parent
053ef073ae
commit
7b1b4984a4
89
ci-scripts/app-layer.sh
Normal file
89
ci-scripts/app-layer.sh
Normal file
@ -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
|
@ -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 }}
|
||||
|
@ -5,12 +5,14 @@ files: &UNIVERSAL_CHANGE_FILES
|
||||
|
||||
multiImages:
|
||||
- name: audacity
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-audacity
|
||||
changeFiles:
|
||||
- dockerfile-kasm-audacity
|
||||
- src/ubuntu/install/audacity/**
|
||||
- name: chromium
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-chromium
|
||||
changeFiles:
|
||||
@ -19,24 +21,28 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/certificates/**
|
||||
- name: deluge
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-deluge
|
||||
changeFiles:
|
||||
- dockerfile-kasm-deluge
|
||||
- src/ubuntu/install/deluge/**
|
||||
- name: doom
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-doom
|
||||
changeFiles:
|
||||
- dockerfile-kasm-doom
|
||||
- src/ubuntu/install/doom/**
|
||||
- name: filezilla
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-filezilla
|
||||
changeFiles:
|
||||
- dockerfile-kasm-filezilla
|
||||
- src/ubuntu/install/filezilla/**
|
||||
- name: firefox
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-firefox
|
||||
changeFiles:
|
||||
@ -45,18 +51,21 @@ multiImages:
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/certificates/**
|
||||
- name: gimp
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-gimp
|
||||
changeFiles:
|
||||
- dockerfile-kasm-gimp
|
||||
- src/ubuntu/install/gimp/**
|
||||
- name: inkscape
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-inkscape
|
||||
changeFiles:
|
||||
- dockerfile-kasm-inkscape
|
||||
- src/ubuntu/install/inkscape/**
|
||||
- name: java-dev
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-java-dev
|
||||
changeFiles:
|
||||
@ -70,12 +79,14 @@ multiImages:
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/eclipse/**
|
||||
- name: libre-office
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-libre-office
|
||||
changeFiles:
|
||||
- dockerfile-kasm-libre-office
|
||||
- src/ubuntu/install/libre_office/**
|
||||
- name: opensuse-15-desktop
|
||||
singleapp: false
|
||||
base: core-opensuse-15
|
||||
dockerfile: dockerfile-kasm-opensuse-15-desktop
|
||||
changeFiles:
|
||||
@ -91,6 +102,7 @@ multiImages:
|
||||
- src/ubuntu/install/slack/**
|
||||
- src/opensuse/install/**
|
||||
- name: oracle-8-desktop
|
||||
singleapp: false
|
||||
base: core-oracle-8
|
||||
dockerfile: dockerfile-kasm-oracle-8-desktop
|
||||
changeFiles:
|
||||
@ -104,18 +116,21 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: pinta
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-pinta
|
||||
changeFiles:
|
||||
- dockerfile-kasm-pinta
|
||||
- src/ubuntu/install/pinta/**
|
||||
- name: qbittorrent
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-qbittorrent
|
||||
changeFiles:
|
||||
- dockerfile-kasm-qbittorrent
|
||||
- src/ubuntu/install/qbittorrent/**
|
||||
- name: redroid
|
||||
singleapp: false
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-redroid
|
||||
changeFiles:
|
||||
@ -130,21 +145,14 @@ multiImages:
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- name: remmina
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-remmina
|
||||
changeFiles:
|
||||
- dockerfile-kasm-remmina
|
||||
- src/ubuntu/install/remmina/**
|
||||
- name: slack
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-slack
|
||||
changeFiles:
|
||||
- dockerfile-kasm-slack
|
||||
- src/ubuntu/install/slack/**
|
||||
- src/ubuntu/install/chrone/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- name: spiderfoot
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-spiderfoot
|
||||
changeFiles:
|
||||
@ -154,18 +162,21 @@ multiImages:
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- name: sublime-text
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-sublime-text
|
||||
changeFiles:
|
||||
- dockerfile-kasm-sublime-text
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- name: telegram
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-telegram
|
||||
changeFiles:
|
||||
- dockerfile-kasm-telegram
|
||||
- src/ubuntu/install/telegram/**
|
||||
- name: terminal
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-terminal
|
||||
changeFiles:
|
||||
@ -174,12 +185,14 @@ multiImages:
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/terminal/**
|
||||
- name: thunderbird
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-thunderbird
|
||||
changeFiles:
|
||||
- dockerfile-kasm-thunderbird
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- name: tor-browser
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-tor-browser
|
||||
changeFiles:
|
||||
@ -187,6 +200,7 @@ multiImages:
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/torbrowser/**
|
||||
- name: ubuntu-focal-desktop
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-ubuntu-focal-desktop
|
||||
changeFiles:
|
||||
@ -213,6 +227,7 @@ multiImages:
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: ubuntu-focal-desktop-vpn
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-ubuntu-focal-desktop-vpn
|
||||
changeFiles:
|
||||
@ -240,6 +255,7 @@ multiImages:
|
||||
- src/ubuntu/install/slack/**
|
||||
- src/ubuntu/install/vpn/**
|
||||
- name: ubuntu-jammy-desktop
|
||||
singleapp: false
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-ubuntu-jammy-desktop
|
||||
changeFiles:
|
||||
@ -266,18 +282,21 @@ multiImages:
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: vlc
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-vlc
|
||||
changeFiles:
|
||||
- dockerfile-kasm-vlc
|
||||
- src/ubuntu/install/vlc/**
|
||||
- name: vs-code
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-vs-code
|
||||
changeFiles:
|
||||
- dockerfile-kasm-vs-code
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- name: almalinux-8-desktop
|
||||
singleapp: false
|
||||
base: core-almalinux-8
|
||||
dockerfile: dockerfile-kasm-almalinux-8-desktop
|
||||
changeFiles:
|
||||
@ -291,6 +310,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: almalinux-9-desktop
|
||||
singleapp: false
|
||||
base: core-almalinux-9
|
||||
dockerfile: dockerfile-kasm-almalinux-9-desktop
|
||||
changeFiles:
|
||||
@ -303,6 +323,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: alpine-317-desktop
|
||||
singleapp: false
|
||||
base: core-alpine-317
|
||||
dockerfile: dockerfile-kasm-alpine-317-desktop
|
||||
changeFiles:
|
||||
@ -311,6 +332,7 @@ multiImages:
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/alpine/install/**
|
||||
- name: alpine-318-desktop
|
||||
singleapp: false
|
||||
base: core-alpine-318
|
||||
dockerfile: dockerfile-kasm-alpine-318-desktop
|
||||
changeFiles:
|
||||
@ -319,6 +341,7 @@ multiImages:
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/alpine/install/**
|
||||
- name: brave
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-brave
|
||||
changeFiles:
|
||||
@ -326,6 +349,7 @@ multiImages:
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/brave/**
|
||||
- name: debian-bullseye-desktop
|
||||
singleapp: false
|
||||
base: core-debian-bullseye
|
||||
dockerfile: dockerfile-kasm-debian-bullseye-desktop
|
||||
changeFiles:
|
||||
@ -350,6 +374,7 @@ multiImages:
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: debian-bookworm-desktop
|
||||
singleapp: false
|
||||
base: core-debian-bookworm
|
||||
dockerfile: dockerfile-kasm-debian-bookworm-desktop
|
||||
changeFiles:
|
||||
@ -374,6 +399,7 @@ multiImages:
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: fedora-37-desktop
|
||||
singleapp: false
|
||||
base: core-fedora-37
|
||||
dockerfile: dockerfile-kasm-fedora-37-desktop
|
||||
changeFiles:
|
||||
@ -386,6 +412,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: fedora-38-desktop
|
||||
singleapp: false
|
||||
base: core-fedora-38
|
||||
dockerfile: dockerfile-kasm-fedora-38-desktop
|
||||
changeFiles:
|
||||
@ -398,6 +425,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: kali-rolling-desktop
|
||||
singleapp: false
|
||||
base: core-kali-rolling
|
||||
dockerfile: dockerfile-kasm-kali-rolling-desktop
|
||||
changeFiles:
|
||||
@ -406,12 +434,14 @@ multiImages:
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: minetest
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-minetest
|
||||
changeFiles:
|
||||
- dockerfile-kasm-minetest
|
||||
- src/ubuntu/install/minetest/**
|
||||
- name: oracle-9-desktop
|
||||
singleapp: false
|
||||
base: core-oracle-9
|
||||
dockerfile: dockerfile-kasm-oracle-9-desktop
|
||||
changeFiles:
|
||||
@ -424,6 +454,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: parrotos-5-desktop
|
||||
singleapp: false
|
||||
base: core-parrotos-5
|
||||
dockerfile: dockerfile-kasm-parrotos-5-desktop
|
||||
changeFiles:
|
||||
@ -433,12 +464,14 @@ multiImages:
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- name: retroarch
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-retroarch
|
||||
changeFiles:
|
||||
- dockerfile-kasm-retroarch
|
||||
- src/ubuntu/install/retroarch/**
|
||||
- name: rockylinux-8-desktop
|
||||
singleapp: false
|
||||
base: core-rockylinux-8
|
||||
dockerfile: dockerfile-kasm-rockylinux-8-desktop
|
||||
changeFiles:
|
||||
@ -452,6 +485,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: rockylinux-9-desktop
|
||||
singleapp: false
|
||||
base: core-rockylinux-9
|
||||
dockerfile: dockerfile-kasm-rockylinux-9-desktop
|
||||
changeFiles:
|
||||
@ -464,12 +498,14 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: super-tux-kart
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-super-tux-kart
|
||||
changeFiles:
|
||||
- dockerfile-kasm-super-tux-kart
|
||||
- src/ubuntu/install/super_tux_kart/**
|
||||
- name: ubuntu-focal-dind
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-ubuntu-focal-dind
|
||||
changeFiles:
|
||||
@ -483,6 +519,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: ubuntu-focal-dind-rootless
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-ubuntu-focal-dind-rootless
|
||||
changeFiles:
|
||||
@ -496,6 +533,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: ubuntu-jammy-dind
|
||||
singleapp: false
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-ubuntu-jammy-dind
|
||||
changeFiles:
|
||||
@ -509,6 +547,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: ubuntu-jammy-dind-rootless
|
||||
singleapp: false
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-ubuntu-jammy-dind-rootless
|
||||
changeFiles:
|
||||
@ -523,6 +562,7 @@ multiImages:
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: vivaldi
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-vivaldi
|
||||
changeFiles:
|
||||
@ -532,18 +572,21 @@ multiImages:
|
||||
- src/ubuntu/install/vivaldi/**
|
||||
singleImages:
|
||||
- name: atom
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-atom
|
||||
changeFiles:
|
||||
- dockerfile-kasm-atom
|
||||
- src/ubuntu/install/atom/**
|
||||
- name: blender
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-blender
|
||||
changeFiles:
|
||||
- dockerfile-kasm-blender
|
||||
- src/ubuntu/install/blender/**
|
||||
- name: centos-7-desktop
|
||||
singleapp: false
|
||||
base: core-centos-7
|
||||
dockerfile: dockerfile-kasm-centos-7-desktop
|
||||
changeFiles:
|
||||
@ -553,6 +596,7 @@ singleImages:
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: chrome
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-chrome
|
||||
changeFiles:
|
||||
@ -561,6 +605,7 @@ singleImages:
|
||||
- src/ubuntu/install/certificates/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: desktop
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-desktop
|
||||
changeFiles:
|
||||
@ -569,6 +614,7 @@ singleImages:
|
||||
- src/ubuntu/install/certificates/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: desktop-deluxe
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-desktop-deluxe
|
||||
changeFiles:
|
||||
@ -591,12 +637,14 @@ singleImages:
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: discord
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-discord
|
||||
changeFiles:
|
||||
- dockerfile-kasm-discord
|
||||
- src/ubuntu/install/discord/**
|
||||
- name: edge
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-edge
|
||||
changeFiles:
|
||||
@ -604,6 +652,7 @@ singleImages:
|
||||
- src/ubuntu/install/gtk/**
|
||||
- src/ubuntu/install/edge/**
|
||||
- name: hunchly
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-hunchly
|
||||
changeFiles:
|
||||
@ -611,12 +660,14 @@ singleImages:
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/hunchly/**
|
||||
- name: insomnia
|
||||
singleapp: true
|
||||
base: core-ubuntu-jammy
|
||||
dockerfile: dockerfile-kasm-insomnia
|
||||
changeFiles:
|
||||
- dockerfile-kasm-insomnia
|
||||
- src/ubuntu/install/insomnia/**
|
||||
- name: maltego
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-maltego
|
||||
changeFiles:
|
||||
@ -624,11 +675,13 @@ singleImages:
|
||||
- src/ubuntu/install/maltego/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- name: only-office
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-only-office
|
||||
changeFiles:
|
||||
- dockerfile-kasm-only-office
|
||||
- name: oracle-7-desktop
|
||||
singleapp: false
|
||||
base: core-oracle-7
|
||||
dockerfile: dockerfile-kasm-oracle-7-desktop
|
||||
changeFiles:
|
||||
@ -640,6 +693,7 @@ singleImages:
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: postman
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-postman
|
||||
changeFiles:
|
||||
@ -647,6 +701,7 @@ singleImages:
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/postman/**
|
||||
- name: remnux-focal-desktop
|
||||
singleapp: false
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-remnux-focal-desktop
|
||||
changeFiles:
|
||||
@ -654,18 +709,31 @@ singleImages:
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/remnux/**
|
||||
- name: signal
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-signal
|
||||
changeFiles:
|
||||
- dockerfile-kasm-signal
|
||||
- src/ubuntu/install/signal/**
|
||||
- name: slack
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-slack
|
||||
changeFiles:
|
||||
- dockerfile-kasm-slack
|
||||
- src/ubuntu/install/slack/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- name: steam
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-steam
|
||||
changeFiles:
|
||||
- dockerfile-kasm-steam
|
||||
- src/ubuntu/install/steam/**
|
||||
- name: tracelabs
|
||||
singleapp: false
|
||||
base: core-kali-rolling
|
||||
dockerfile: dockerfile-kasm-tracelabs
|
||||
changeFiles:
|
||||
@ -674,6 +742,7 @@ singleImages:
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/tracelabs/**
|
||||
- name: unityhub
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-unityhub
|
||||
changeFiles:
|
||||
@ -682,6 +751,7 @@ singleImages:
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/unityhub/**
|
||||
- name: zoom
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-zoom
|
||||
changeFiles:
|
||||
@ -689,6 +759,7 @@ singleImages:
|
||||
- src/ubuntu/install/zoom/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- name: zsnes
|
||||
singleapp: true
|
||||
base: core-ubuntu-focal
|
||||
dockerfile: dockerfile-kasm-zsnes
|
||||
changeFiles:
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Atom
|
||||
wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | apt-key add -
|
||||
echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" \
|
||||
> /etc/apt/sources.list.d/atom.list
|
||||
@ -8,5 +9,18 @@ apt-get update
|
||||
apt-get install -y atom
|
||||
|
||||
# Desktop Icon
|
||||
sed -i 's#/usr/bin/atom#/usr/bin/atom --no-sandbox#g' /usr/share/applications/atom.desktop
|
||||
cp /usr/share/applications/atom.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/atom.desktop
|
||||
|
||||
# Cleanup for app layer
|
||||
chown -R 1000:0 $HOME
|
||||
find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \;
|
||||
if [ -z ${SKIP_CLEAN+x} ]; then
|
||||
apt-get autoclean
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
fi
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 <<EOL
|
||||
@ -41,11 +42,12 @@ cat >>/usr/bin/x-www-browser <<EOL
|
||||
exec -a "\$0" "\$HERE/brave" "${CHROME_ARGS}" "\$@"
|
||||
EOL
|
||||
|
||||
mkdir -p /etc/brave/policies/managed/
|
||||
# Vanilla Chrome looks for policies in /etc/opt/chrome/policies/managed which is used by web filtering.
|
||||
# Create a symlink here so filter is applied to brave as well.
|
||||
mkdir -p /etc/opt/chrome/policies/
|
||||
ln -s /etc/brave/policies/managed /etc/opt/chrome/policies/
|
||||
mkdir -p /etc/brave
|
||||
ln -s /etc/opt/chrome/policies /etc/brave/policies
|
||||
mkdir -p /etc/brave/policies/managed/
|
||||
cat >>/etc/brave/policies/managed/default_managed_policy.json <<EOL
|
||||
{"CommandLineFlagSecurityWarningsEnabled": false, "DefaultBrowserSettingEnabled": false}
|
||||
EOL
|
||||
@ -60,3 +62,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 {} \;
|
||||
|
@ -102,3 +102,7 @@ mkdir -p /etc/opt/chrome/policies/managed/
|
||||
cat >>/etc/opt/chrome/policies/managed/default_managed_policy.json <<EOL
|
||||
{"CommandLineFlagSecurityWarningsEnabled": false, "DefaultBrowserSettingEnabled": false}
|
||||
EOL
|
||||
|
||||
# Cleanup for app layer
|
||||
chown -R 1000:0 $HOME
|
||||
find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \;
|
||||
|
@ -147,3 +147,7 @@ mkdir -p /etc/chromium/policies/managed/
|
||||
cat >>/etc/chromium/policies/managed/default_managed_policy.json <<EOL
|
||||
{"CommandLineFlagSecurityWarningsEnabled": false, "DefaultBrowserSettingEnabled": false}
|
||||
EOL
|
||||
|
||||
# Cleanup for app layer
|
||||
chown -R 1000:0 $HOME
|
||||
find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \;
|
||||
|
@ -1,13 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
|
||||
add-apt-repository -y ppa:deluge-team/stable
|
||||
# Install Deluge
|
||||
apt-get update
|
||||
apt-get install -y deluge
|
||||
|
||||
# Desktop Icon
|
||||
cp /usr/share/applications/deluge.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/deluge.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
|
||||
|
@ -24,3 +24,7 @@ if [ -z ${SKIP_CLEAN+x} ]; then
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
fi
|
||||
|
||||
# Cleanup for app layer
|
||||
chown -R 1000:0 $HOME
|
||||
find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \;
|
||||
|
@ -1,8 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Doom
|
||||
apt-get update
|
||||
apt-get install -y chocolate-doom doom-wad-shareware prboom-plus freedoom
|
||||
|
||||
# Custom settings
|
||||
mkdir -p $HOME/.local/share/chocolate-doom
|
||||
cat >$HOME/.local/share/chocolate-doom/chocolate-doom.cfg <<EOL
|
||||
force_software_renderer 1
|
||||
@ -49,3 +52,23 @@ cat >/usr/bin/desktop_ready <<EOL
|
||||
until pids=\$(pidof Thunar); do sleep .5; done
|
||||
EOL
|
||||
chmod +x /usr/bin/desktop_ready
|
||||
|
||||
# Desktop icon
|
||||
DESKTOP_FILE="chocolate-doom.desktop"
|
||||
if [ "$(lsb_release -cs)" == "jammy" ]; then
|
||||
DESKTOP_FILE="org.chocolate_doom.Doom.desktop"
|
||||
fi
|
||||
sed -i 's#Exec=chocolate-doom#Exec=/usr/games/chocolate-doom#g' /usr/share/applications/${DESKTOP_FILE}
|
||||
cp /usr/share/applications/${DESKTOP_FILE} $HOME/Desktop
|
||||
chmod +x $HOME/Desktop/${DESKTOP_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
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
ECLIPSE_VER_DATE="2021-12"
|
||||
ECLIPSE_VER_DATE="2023-12"
|
||||
|
||||
cd /tmp
|
||||
wget -q -O eclipse.tar.gz "https://mirrors.xmission.com/eclipse/technology/epp/downloads/release/${ECLIPSE_VER_DATE}/R/eclipse-java-${ECLIPSE_VER_DATE}-R-linux-gtk-$(arch).tar.gz"
|
||||
|
@ -5,29 +5,30 @@ CHROME_ARGS="--password-store=basic --no-sandbox --ignore-gpu-blocklist --user-d
|
||||
|
||||
apt-get update
|
||||
|
||||
EDGE_BUILD=$(curl -q https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/ | grep href | grep .deb | sed 's/.*href="//g' | cut -d '"' -f1 | sort --version-sort | tail -1)
|
||||
EDGE_BUILD=$(curl -q https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/ | grep href | grep .deb | sed 's/.*href="//g' | cut -d '"' -f1 | sort --version-sort | tail -1)
|
||||
|
||||
wget -q -O edge.deb https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/$EDGE_BUILD
|
||||
wget -q -O edge.deb https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/$EDGE_BUILD
|
||||
apt-get install -y ./edge.deb
|
||||
rm edge.deb
|
||||
|
||||
cp /usr/share/applications/microsoft-edge-dev.desktop $HOME/Desktop/
|
||||
chown 1000:1000 $HOME/Desktop/microsoft-edge-dev.desktop
|
||||
cp /usr/share/applications/microsoft-edge.desktop $HOME/Desktop/
|
||||
chown 1000:1000 $HOME/Desktop/microsoft-edge.desktop
|
||||
chmod +x $HOME/Desktop/microsoft-edge.desktop
|
||||
|
||||
mv /usr/bin/microsoft-edge-dev /usr/bin/microsoft-edge-dev-orig
|
||||
cat >/usr/bin/microsoft-edge-dev <<EOL
|
||||
mv /usr/bin/microsoft-edge-stable /usr/bin/microsoft-edge-stable-orig
|
||||
cat >/usr/bin/microsoft-edge-stable <<EOL
|
||||
#!/usr/bin/env bash
|
||||
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/microsoft-edge-dev/Default/Preferences
|
||||
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/microsoft-edge-dev/Default/Preferences
|
||||
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/microsoft-edge/Default/Preferences
|
||||
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/microsoft-edge/Default/Preferences
|
||||
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then
|
||||
echo "Starting Edge with GPU Acceleration on EGL device \${KASM_EGL_CARD}"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /opt/microsoft/msedge-dev/microsoft-edge ${CHROME_ARGS} "\$@"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /opt/microsoft/msedge/microsoft-edge ${CHROME_ARGS} "\$@"
|
||||
else
|
||||
echo "Starting Edge"
|
||||
/opt/microsoft/msedge-dev/microsoft-edge ${CHROME_ARGS} "\$@"
|
||||
/opt/microsoft/msedge/microsoft-edge ${CHROME_ARGS} "\$@"
|
||||
fi
|
||||
EOL
|
||||
chmod +x /usr/bin/microsoft-edge-dev
|
||||
chmod +x /usr/bin/microsoft-edge-stable
|
||||
|
||||
sed -i 's@exec -a "$0" "$HERE/microsoft-edge" "$\@"@@g' /usr/bin/x-www-browser
|
||||
cat >>/usr/bin/x-www-browser <<EOL
|
||||
@ -43,7 +44,9 @@ EOL
|
||||
# Vanilla Chrome looks for policies in /etc/opt/chrome/policies/managed which is used by web filtering.
|
||||
# Create a symlink here so filter is applied to edge as well.
|
||||
mkdir -p /etc/opt/chrome/policies/
|
||||
ln -s /etc/opt/edge/policies/managed /etc/opt/chrome/policies/
|
||||
mkdir -p /etc/opt/edge
|
||||
ln -s /etc/opt/chrome/policies /etc/opt/edge/policies
|
||||
mkdir -p /etc/opt/edge/policies/managed
|
||||
|
||||
if [ -z ${SKIP_CLEAN+x} ]; then
|
||||
apt-get autoclean
|
||||
@ -51,3 +54,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 {} \;
|
||||
|
@ -1,7 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
apt-get update
|
||||
|
||||
# Install Filezilla
|
||||
apt-get update
|
||||
apt-get install -y filezilla
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
@ -12,3 +13,14 @@ mkdir -p $HOME/.config/filezilla
|
||||
cp /dockerstartup/install/filezilla/filezilla.xml $HOME/.config/filezilla
|
||||
cp /usr/share/applications/filezilla.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/filezilla.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
|
||||
|
@ -151,6 +151,7 @@ if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9
|
||||
rm -Rf /root/.mozilla
|
||||
else
|
||||
# Creating Default Profile
|
||||
chown -R 0:0 $HOME
|
||||
firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm"
|
||||
fi
|
||||
|
||||
@ -176,4 +177,11 @@ Locked=1
|
||||
EOL
|
||||
fi
|
||||
|
||||
# Cleanup for app layer
|
||||
chown -R 1000:0 $HOME
|
||||
find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \;
|
||||
if [ -f $HOME/Desktop/firefox.desktop ]; then
|
||||
chmod +x $HOME/Desktop/firefox.desktop
|
||||
fi
|
||||
|
||||
chown -R 1000:1000 $HOME/.mozilla
|
||||
|
@ -1,7 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
apt-get update
|
||||
|
||||
# Install GIMP
|
||||
apt-get update
|
||||
apt-get install -y gimp
|
||||
cp /usr/share/applications/gimp.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/gimp.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
|
||||
|
@ -2,6 +2,12 @@
|
||||
|
||||
set -e
|
||||
|
||||
# Just remove xdg-open for Jammy
|
||||
if [ "$(lsb_release -cs)" == "jammy" ]; then
|
||||
rm -f /usr/bin/xdg-open
|
||||
exit 0
|
||||
fi
|
||||
|
||||
libgtk_deb=libgtk.deb
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
|
||||
|
@ -1,10 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Hunchly
|
||||
wget https://downloadmirror.hunch.ly/currentversion/hunchly.deb -O /tmp/hunchly.deb
|
||||
apt-get update
|
||||
apt-get install -y /tmp/hunchly.deb
|
||||
rm -rf /tmp/hunchly.deb
|
||||
|
||||
# Bin wrapper for seccomp
|
||||
mv /usr/lib/hunchly/Hunchly /usr/lib/hunchly/Hunchly-orig
|
||||
cat >/usr/lib/hunchly/Hunchly <<EOL
|
||||
#!/bin/bash
|
||||
|
||||
BIN=/usr/lib/hunchly/Hunchly-orig
|
||||
|
||||
# Run normally on privved containers
|
||||
if grep -q 'Seccomp:\t0' /proc/1/status; then
|
||||
\${BIN} \
|
||||
"\$@"
|
||||
else
|
||||
\${BIN} \
|
||||
--no-sandbox \
|
||||
"\$@"
|
||||
fi
|
||||
EOL
|
||||
chmod +x /usr/lib/hunchly/Hunchly
|
||||
|
||||
# Desktop icon
|
||||
cp /usr/share/applications/hunchly-2.desktop $HOME/Desktop/
|
||||
chown 1000:1000 $HOME/Desktop/hunchly-2.desktop
|
||||
chmod +x $HOME/Desktop/hunchly-2.desktop
|
||||
@ -29,10 +51,13 @@ apt-get install -y \
|
||||
thunar-archive-plugin \
|
||||
xarchiver
|
||||
|
||||
# Cleanup
|
||||
apt-get -y autoremove && \
|
||||
apt-get clean && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
# 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
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Inkscape
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
|
||||
add-apt-repository -y ppa:inkscape.dev/stable
|
||||
apt-get update
|
||||
apt-get install -y inkscape
|
||||
@ -11,3 +11,14 @@ apt-get install -y inkscape
|
||||
# Default settings and desktop icon
|
||||
cp /usr/share/applications/org.inkscape.Inkscape.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/org.inkscape.Inkscape.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
|
||||
|
@ -1,11 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Insomnia
|
||||
wget -q "https://updates.insomnia.rest/downloads/ubuntu/latest?&app=com.insomnia.app&source=website" -O insomnia.deb
|
||||
apt-get update
|
||||
apt-get install -y ./insomnia.deb
|
||||
rm insomnia.deb
|
||||
|
||||
# Desktop icon
|
||||
sed -i "s#Exec=/opt/Insomnia/insomnia#Exec=/opt/Insomnia/insomnia --no-sandbox#g" /usr/share/applications/insomnia.desktop
|
||||
cp /usr/share/applications/insomnia.desktop $HOME/Desktop
|
||||
chmod +x $HOME/Desktop/insomnia.desktop
|
||||
chown 1000:1000 $HOME/Desktop/insomnia.desktop
|
||||
rm insomnia.deb
|
||||
|
||||
# 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
|
||||
|
@ -1,26 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install LibreOffice
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
|
||||
add-apt-repository ppa:libreoffice/ppa
|
||||
apt-get update
|
||||
apt-get install -y libreoffice
|
||||
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# Desktop icon
|
||||
sed -i "s@Exec=libreoffice@Exec=env LD_LIBRARY_PATH=:/usr/lib/libreoffice/program:/usr/lib/$(arch)-linux-gnu/ libreoffice@g" /usr/share/applications/libreoffice-*.desktop
|
||||
cp /usr/share/applications/libreoffice-startcenter.desktop $HOME/Desktop/
|
||||
chown 1000:1000 $HOME/Desktop/libreoffice-startcenter.desktop
|
||||
chmod +x $HOME/Desktop/libreoffice-startcenter.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/*
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
fi
|
||||
|
@ -1,16 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Maltego
|
||||
apt-get update
|
||||
apt-get install -y default-jre curl
|
||||
|
||||
MALTEGO_URL=$(curl -sq https://downloads.maltego.com/maltego-v4/info.json | grep -e "url.*deb" | cut -d '"' -f4 | head -1)
|
||||
|
||||
wget -q $MALTEGO_URL -O maltego.deb
|
||||
apt-get install -y ./maltego.deb
|
||||
rm maltego.deb
|
||||
|
||||
# Desktop icon
|
||||
cp /usr/share/applications/maltego.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/maltego.desktop
|
||||
chown 1000:1000 /usr/share/applications/maltego.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
|
||||
|
@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Minetest
|
||||
apt-get update
|
||||
apt-get install -y minetest
|
||||
|
||||
@ -20,10 +22,13 @@ fi
|
||||
EOL
|
||||
chmod +x /usr/bin/minetest
|
||||
|
||||
# Cleanup
|
||||
# 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/*
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
fi
|
||||
|
@ -1,19 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Only Office
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
if [ "$ARCH" == "arm64" ] ; then
|
||||
echo "Only Office is not supported on arm64, skipping Only Office installation"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
curl -L -o only_office.deb "https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_${ARCH}.deb"
|
||||
apt-get update
|
||||
apt-get install -y ./only_office.deb
|
||||
rm -rf only_office.deb
|
||||
|
||||
# Desktop icon
|
||||
cp /usr/share/applications/onlyoffice-desktopeditors.desktop $HOME/Desktop
|
||||
sed -i 's/ONLYOFFICE Desktop Editors/ONLYOFFICE/g' $HOME/Desktop/onlyoffice-desktopeditors.desktop
|
||||
chmod +x $HOME/Desktop/onlyoffice-desktopeditors.desktop
|
||||
# KASM-1541
|
||||
sed -i 's#/usr/bin/onlyoffice-desktopeditors %U$#bash -c "source ~/.bashrc \&\& /usr/bin/onlyoffice-desktopeditors %U"#' /usr/share/applications/onlyoffice-desktopeditors.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
|
||||
|
@ -1,12 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
apt-get update
|
||||
|
||||
# Install Pinta
|
||||
apt-get update
|
||||
apt-get install -y pinta
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# Default settings and desktop icon
|
||||
cp /usr/share/applications/pinta.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/pinta.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
|
||||
|
@ -1,10 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Postman
|
||||
wget -q https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
|
||||
mkdir -p /opt/
|
||||
tar -xvzf postman.tar.gz -C /opt/
|
||||
rm postman.tar.gz
|
||||
|
||||
# Desktop icon
|
||||
cat >/usr/share/applications/postman.desktop <<EOL
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
@ -14,8 +17,17 @@ Exec="/opt/Postman/Postman"
|
||||
Comment=Postman GUI
|
||||
Categories=Development;Code;
|
||||
EOL
|
||||
|
||||
chmod +x /usr/share/applications/postman.desktop
|
||||
cp /usr/share/applications/postman.desktop $HOME/Desktop/postman.desktop
|
||||
chmod +x $HOME/Desktop/postman.desktop
|
||||
chown 1000:1000 $HOME/Desktop/postman.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
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Qbittorrent
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
|
||||
add-apt-repository -y ppa:qbittorrent-team/qbittorrent-stable
|
||||
apt-get update
|
||||
apt-get install -y qbittorrent
|
||||
@ -13,3 +13,14 @@ mkdir -p $HOME/.config/qBittorrent
|
||||
cp /dockerstartup/install/qbittorrent/qBittorrent.conf $HOME/.config/qBittorrent
|
||||
cp /usr/share/applications/org.qbittorrent.qBittorrent.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/org.qbittorrent.qBittorrent.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
|
||||
|
@ -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
|
||||
|
@ -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 {} \;
|
||||
|
@ -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
|
||||
|
@ -18,12 +18,21 @@ if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9
|
||||
|
||||
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; 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 {} \;
|
||||
|
@ -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
|
||||
# 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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 <<EOL
|
||||
until pids=\$(pidof Thunar); do sleep .5; done
|
||||
EOL
|
||||
chmod +x /usr/bin/desktop_ready
|
||||
|
||||
# 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
|
||||
|
@ -1,19 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Telegram
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
|
||||
if [ "${ARCH}" == "arm64" ] ; then
|
||||
apt-get update
|
||||
apt-get install -y telegram-desktop
|
||||
cp /usr/share/applications/telegramdesktop.desktop $HOME/Desktop/telegram.desktop
|
||||
chmod +x $HOME/Desktop/telegram.desktop
|
||||
else
|
||||
wget -q https://telegram.org/dl/desktop/linux -O /tmp/telegram.tgz
|
||||
curl -L https://telegram.org/dl/desktop/linux -o /tmp/telegram.tgz
|
||||
tar -xvf /tmp/telegram.tgz -C /opt/
|
||||
rm -rf /tmp/telegram.tgz
|
||||
|
||||
wget -q https://kasm-static-content.s3.amazonaws.com/icons/telegram.png -O /opt/Telegram/telegram_icon.png
|
||||
|
||||
curl -L https://kasm-static-content.s3.amazonaws.com/icons/telegram.png -o /opt/Telegram/telegram_icon.png
|
||||
cat >/usr/share/applications/telegram.desktop <<EOL
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
@ -33,4 +33,14 @@ EOL
|
||||
chmod +x /usr/share/applications/telegram.desktop
|
||||
cp /usr/share/applications/telegram.desktop $HOME/Desktop/telegram.desktop
|
||||
fi
|
||||
chown 1000:1000 $HOME/Desktop/telegram.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
|
||||
|
@ -55,3 +55,7 @@ else
|
||||
cp /usr/share/applications/thunderbird.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/thunderbird.desktop
|
||||
fi
|
||||
|
||||
# Cleanup for app layer
|
||||
chown -R 1000:0 $HOME
|
||||
find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \;
|
||||
|
@ -7,7 +7,7 @@ TOR_HOME=$HOME/tor-browser/
|
||||
mkdir -p $TOR_HOME
|
||||
if [ "$(arch)" == "aarch64" ]; then
|
||||
SF_VERSION=$(curl -sI https://sourceforge.net/projects/tor-browser-ports/files/latest/download | awk -F'(ports/|/tor)' '/location/ {print $3}')
|
||||
FULL_TOR_URL="https://downloads.sourceforge.net/project/tor-browser-ports/${SF_VERSION}/tor-browser-linux-arm64-${SF_VERSION}_ALL.tar.xz"
|
||||
FULL_TOR_URL="https://downloads.sourceforge.net/project/tor-browser-ports/${SF_VERSION}/tor-browser-linux-arm64-${SF_VERSION}.tar.xz"
|
||||
else
|
||||
TOR_URL=$(curl -q https://www.torproject.org/download/ | grep downloadLink | grep linux | sed 's/.*href="//g' | cut -d '"' -f1 | head -1)
|
||||
FULL_TOR_URL="https://www.torproject.org/${TOR_URL}"
|
||||
@ -51,3 +51,14 @@ chown -R 1000:0 $TOR_HOME/
|
||||
|
||||
cp $TOR_HOME/tor-browser/start-tor-browser.desktop $HOME/Desktop/
|
||||
chown 1000:0 $HOME/Desktop/start-tor-browser.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
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Install UnityHub
|
||||
# Adapted from https://docs.unity3d.com/hub/manual/InstallHub.html#install-hub-linux
|
||||
SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||
set -ex
|
||||
@ -8,14 +9,23 @@ wget -qO - https://hub.unity3d.com/linux/keys/public | apt-key add -
|
||||
apt-get update
|
||||
apt-get install -y unityhub
|
||||
|
||||
# Desktop icon
|
||||
sed -i 's,/opt/unityhub/unityhub,/opt/unityhub/unityhub --no-sandbox,g' /usr/share/applications/unityhub.desktop
|
||||
|
||||
|
||||
cp /usr/share/applications/unityhub.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/unityhub.desktop
|
||||
chown 1000:1000 $HOME/Desktop/unityhub.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
|
||||
|
||||
# Example for pre-installing a unity Editor
|
||||
#mkdir -p $HOME/Unity/Hub/Editor/2021.3.6f1
|
||||
#cd /tmp/
|
||||
|
@ -21,6 +21,7 @@ set -e
|
||||
# Add Desktop Icon
|
||||
cp /usr/share/applications/vivaldi-stable.desktop $HOME/Desktop/
|
||||
chown 1000:1000 $HOME/Desktop/vivaldi-stable.desktop
|
||||
chmod +x $HOME/Desktop/vivaldi-stable.desktop
|
||||
|
||||
# Use wrapper to launch application
|
||||
mv /opt/vivaldi/vivaldi /opt/vivaldi/vivaldi-orig
|
||||
@ -57,3 +58,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 {} \;
|
||||
|
@ -1,4 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install VLC
|
||||
apt-get update
|
||||
apt-get install -y vlc
|
||||
|
||||
# Desktop icon
|
||||
cp /usr/share/applications/vlc.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/vlc.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
|
||||
|
@ -1,9 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install vsCode
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/x64/g')
|
||||
wget -q https://update.code.visualstudio.com/latest/linux-deb-${ARCH}/stable -O vs_code.deb
|
||||
apt-get update
|
||||
apt-get install -y ./vs_code.deb
|
||||
|
||||
# Desktop icon
|
||||
mkdir -p /usr/share/icons/hicolor/apps
|
||||
wget -O /usr/share/icons/hicolor/apps/vscode.svg https://kasm-static-content.s3.amazonaws.com/icons/vscode.svg
|
||||
sed -i '/Icon=/c\Icon=/usr/share/icons/hicolor/apps/vscode.svg' /usr/share/applications/code.desktop
|
||||
@ -19,10 +23,13 @@ apt-get install -y python3-setuptools \
|
||||
python3-venv \
|
||||
python3-virtualenv
|
||||
|
||||
# Cleanup
|
||||
# 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/*
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
fi
|
||||
|
@ -1,18 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install Zoom
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
|
||||
if [ "${ARCH}" == "arm64" ] ; then
|
||||
echo "Zoom for arm64 currently not supported, skipping install"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Install Zoom
|
||||
wget -q https://zoom.us/client/latest/zoom_${ARCH}.deb
|
||||
apt-get update
|
||||
apt-get install -y ./zoom_${ARCH}.deb
|
||||
rm zoom_amd64.deb
|
||||
|
||||
# Desktop icon
|
||||
cp /usr/share/applications/Zoom.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/Zoom.desktop
|
||||
|
||||
@ -28,9 +28,13 @@ fi
|
||||
EOF
|
||||
chmod +x /usr/bin/zoom
|
||||
|
||||
# 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/*
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
fi
|
||||
|
@ -1,13 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install zsnes
|
||||
dpkg --add-architecture i386
|
||||
apt-get update
|
||||
apt-get install -y zsnes
|
||||
|
||||
# Input tweaks
|
||||
mkdir $HOME/.zsnes
|
||||
|
||||
SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||
SCRIPT_PATH="$(realpath $SCRIPT_PATH)"
|
||||
cp ${SCRIPT_PATH}/zinput.cfg $HOME/.zsnes/zinput.cfg
|
||||
|
||||
chown -R 1000:1000 $HOME/.zsnes
|
||||
|
||||
# Desktop Icon
|
||||
cp /usr/share/applications/zsnes.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/zsnes.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
|
||||
|
Loading…
Reference in New Issue
Block a user