Merge branch 'bugfix/KASM-7386-add_debian_trixie_desktop_develop' into 'develop'

Resolve KASM-7386 "Bugfix/ add debian trixie desktop develop"

Closes KASM-7386

See merge request kasm-technologies/internal/workspaces-images!323
This commit is contained in:
Richard Koliser 2025-08-22 20:30:36 +00:00
commit 471e3007b4
6 changed files with 122 additions and 13 deletions

View file

@ -475,6 +475,31 @@ multiImages:
- src/ubuntu/install/ansible/**
- src/ubuntu/install/chrome/**
- src/ubuntu/install/slack/**
- name: debian-trixie-desktop
singleapp: false
base: core-debian-trixie
dockerfile: dockerfile-kasm-debian-trixie-desktop
changeFiles:
- dockerfile-kasm-debian-trixie-desktop
- src/ubuntu/install/zoom/**
- src/ubuntu/install/vs_code/**
- src/ubuntu/install/tools/**
- src/ubuntu/install/thunderbird/**
- src/ubuntu/install/terraform/**
- src/ubuntu/install/telegram/**
- src/ubuntu/install/sublime_text/**
- src/ubuntu/install/signal/**
- src/ubuntu/install/remmina/**
- src/ubuntu/install/only_office/**
- src/ubuntu/install/obs/**
- src/ubuntu/install/gimp/**
- src/ubuntu/install/gamepad_utils/**
- src/ubuntu/install/firefox/**
- src/ubuntu/install/cleanup/**
- src/ubuntu/install/chromium/**
- src/ubuntu/install/ansible/**
- src/ubuntu/install/chrome/**
- src/ubuntu/install/slack/**
- name: fedora-39-desktop
runset: set-b
singleapp: false

View file

@ -0,0 +1,58 @@
ARG BASE_TAG="develop"
ARG BASE_IMAGE="core-debian-trixie"
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
USER root
ENV HOME /home/kasm-default-profile
ENV STARTUPDIR /dockerstartup
WORKDIR $HOME
### Envrionment config
ENV DEBIAN_FRONTEND=noninteractive \
SKIP_CLEAN=true \
KASM_RX_HOME=$STARTUPDIR/kasmrx \
DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/ubuntu/install/tools/install_tools_deluxe.sh \
/ubuntu/install/misc/install_tools.sh \
/ubuntu/install/chrome/install_chrome.sh \
/ubuntu/install/chromium/install_chromium.sh \
/ubuntu/install/firefox/install_firefox.sh \
/ubuntu/install/sublime_text/install_sublime_text.sh \
/ubuntu/install/vs_code/install_vs_code.sh \
/ubuntu/install/remmina/install_remmina.sh \
/ubuntu/install/only_office/install_only_office.sh \
/ubuntu/install/signal/install_signal.sh \
/ubuntu/install/gimp/install_gimp.sh \
/ubuntu/install/zoom/install_zoom.sh \
/ubuntu/install/obs/install_obs.sh \
/ubuntu/install/ansible/install_ansible.sh \
/ubuntu/install/terraform/install_terraform.sh \
/ubuntu/install/telegram/install_telegram.sh \
/ubuntu/install/thunderbird/install_thunderbird.sh \
/ubuntu/install/slack/install_slack.sh \
/ubuntu/install/gamepad_utils/install_gamepad_utils.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"]

View file

@ -8,8 +8,17 @@ if [ "${ARCH}" == "arm64" ] ; then
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-key add is deprecated in trixie and later, use keyrings instead
if grep -q "trixie" /etc/os-release; then
mkdir -p /usr/share/keyrings
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor | tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\
tee /etc/apt/sources.list.d/signal-xenial.list
else
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
fi
apt-get update
apt-get install -y signal-desktop

View file

@ -3,11 +3,20 @@ 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
# apt-key is deprecated in trixie and later, use keyrings instead
if grep -q "trixie" /etc/os-release; then
mkdir -p /usr/share/keyrings
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | tee /etc/apt/keyrings/sublimehq-pub.asc > /dev/null
echo -e 'Types: deb\nURIs: https://download.sublimetext.com/\nSuites: apt/stable/\nSigned-By: /etc/apt/keyrings/sublimehq-pub.asc' | tee /etc/apt/sources.list.d/sublime-text.sources
apt-get update && apt-get install -y sublime-text
else
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | apt-key add -
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
fi
# Desktop icon
cp /usr/share/applications/sublime_text.desktop $HOME/Desktop/

View file

@ -4,8 +4,8 @@ set -ex
# Install Telegram
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
if [ "${ARCH}" == "arm64" ] ; then
# Telegram is not available for noble aarch64
if grep -q "VERSION_CODENAME=noble" /etc/os-release; then
# Telegram is not available for noble and trixie aarch64
if grep -q "VERSION_CODENAME=noble" /etc/os-release || grep -q "VERSION_CODENAME=trixie" /etc/os-release; then
exit 0
fi
apt-get update

View file

@ -9,13 +9,21 @@ if [ "${ARCH}" == "arm64" ] ; then
fi
# Install terraform
curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add -
echo \
"deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
# apt-key add is deprecated in trixie and later, use keyrings instead
# trixie does not have a release, so use bookworm temporarily
if grep -q "trixie" /etc/os-release; then
mkdir -p /usr/share/keyrings
curl -fsSL https://apt.releases.hashicorp.com/gpg | gpg --dearmor | tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com bookworm main" \
> /etc/apt/sources.list.d/hashicorp.list
else
curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add -
echo \
"deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
> /etc/apt/sources.list.d/hashicorp.list
fi
apt-get update
apt-get install -y \
terraform
apt-get install -y terraform
# Cleanup
chown -R 1000:0 $HOME