128 lines
4.3 KiB
Docker
128 lines
4.3 KiB
Docker
ARG BASE_TAG="develop"
|
|
ARG BASE_IMAGE="core-debian-bookworm"
|
|
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
|
|
|
|
# Setup repos
|
|
RUN \
|
|
wget https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg -O /usr/share/keyrings/vscodium-archive-keyring.asc \
|
|
&& echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.asc ] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium main' | tee /etc/apt/sources.list.d/vscodium.list \
|
|
&& apt-get update \
|
|
&& apt-get upgrade -y
|
|
|
|
# Fonts whee
|
|
RUN apt-get install -y fonts-recommended fonts-symbola fonts-glasstty fonts-firacode
|
|
# Essential stuff
|
|
RUN apt-get install -y \
|
|
xdotool nano zip wget curl htop iotop \
|
|
vlc \
|
|
git \
|
|
build-essential \
|
|
python-is-python3
|
|
# Java
|
|
RUN apt-get install -y default-jre
|
|
# Firefox
|
|
RUN apt-get install -y firefox-esr firefox-esr-l10n-fi
|
|
COPY firefox-policies.json /etc/firefox/policies/policies.json
|
|
# Thunderbird
|
|
RUN apt-get install -y thunderbird thunderbird-l10n-fi
|
|
# Libreoffice
|
|
RUN apt-get install -y libreoffice libreoffice-l10n-fi
|
|
# GIMP
|
|
RUN apt-get install -y gimp
|
|
# VSCodium
|
|
RUN \
|
|
apt-get install codium \
|
|
&& sed -i 's#/usr/share/codium/codium#/usr/share/codium/codium --no-sandbox##' /usr/share/applications/codium.desktop
|
|
|
|
|
|
|
|
# Desktop icons
|
|
RUN \
|
|
cp \
|
|
/usr/share/applications/codium.desktop \
|
|
/usr/share/applications/thunderbird.desktop \
|
|
/usr/share/applications/libreoffice-startcenter.desktop \
|
|
/usr/share/applications/gimp.desktop \
|
|
/usr/share/applications/firefox-esr.desktop \
|
|
/usr/share/applications/xfce4-terminal.desktop \
|
|
$HOME/Desktop \
|
|
&& chmod +x $HOME/Desktop/*.desktop \
|
|
&& chown 1000:1000 $HOME/Desktop/*.desktop
|
|
|
|
# Cleanup and stuff
|
|
# Services we don't want to start disable in xfce init
|
|
RUN \
|
|
rm -f \
|
|
/etc/xdg/autostart/blueman.desktop \
|
|
/etc/xdg/autostart/geoclue-demo-agent.desktop \
|
|
/etc/xdg/autostart/gnome-keyring-pkcs11.desktop \
|
|
/etc/xdg/autostart/gnome-keyring-secrets.desktop \
|
|
/etc/xdg/autostart/gnome-keyring-ssh.desktop \
|
|
/etc/xdg/autostart/gnome-shell-overrides-migration.desktop \
|
|
/etc/xdg/autostart/light-locker.desktop \
|
|
/etc/xdg/autostart/org.gnome.Evolution-alarm-notify.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.A11ySettings.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Color.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Datetime.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Housekeeping.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Keyboard.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.MediaKeys.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Power.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.PrintNotifications.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Rfkill.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Sharing.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Smartcard.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Sound.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.UsbProtection.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Wacom.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Wwan.desktop \
|
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.XSettings.desktop \
|
|
/etc/xdg/autostart/pulseaudio.desktop \
|
|
/etc/xdg/autostart/xfce4-power-manager.desktop \
|
|
/etc/xdg/autostart/xfce4-screensaver.desktop \
|
|
/etc/xdg/autostart/xfce-polkit.desktop \
|
|
/etc/xdg/autostart/xscreensaver.desktop
|
|
# Bins we don't want in the final image
|
|
RUN \
|
|
if which gnome-keyring-daemon; then \
|
|
rm -f $(which gnome-keyring-daemon); \
|
|
fi
|
|
# File cleanups
|
|
RUN \
|
|
rm -Rf \
|
|
/home/kasm-default-profile/.cache \
|
|
/home/kasm-user/.cache \
|
|
/tmp \
|
|
/var/lib/apt/lists/* \
|
|
/var/tmp/* \
|
|
&& mkdir -m 1777 /tmp
|
|
|
|
# Finalize
|
|
RUN \
|
|
$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"]
|