## Dockerfile cat >Dockerfile <<- 'Dockerfile' # syntax = docker/dockerfile:1.2 FROM myvnc/base USER root # X session environment variable ENV STARTXBIN startplasma-x11 # Install packages RUN --mount=type=cache,sharing=locked,target=/var/cache/pacman \ pacman -Syu --ask 4 --needed \ cuda openssh vim pacman-contrib bash-completion rsync git \ plasma konsole kate dolphin kompare kcalc \ jack2 ttf-dejavu \ firefox firefox-decentraleyes firefox-ublock-origin \ torbrowser-launcher \ shotwell ffmpegthumbs ark okular \ remmina libvncserver \ && pacman -Scc --ask 4 \ && echo 'Cmnd_Alias MISCELLANEOUS = /usr/bin/pacman -S' >/etc/sudoers.d/01-MISCELLANEOUS # configure nvidia container runtime # https://github.com/NVIDIA/nvidia-container-runtime#environment-variables-oci-spec ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility # Tigervnc COPY 20-archvnc.sh /app/init.d/20-archvnc.sh RUN chmod +x /app/init.d/* # Reset user home directory USER user WORKDIR /home/user Dockerfile # KDE setup cat >20-archvnc.sh <<- 'entrypoint' #!/usr/bin/env bash # Disable KDE screenlock cat >~/.config/kscreenlockerrc <<- 'kscreenlockerrc' [Daemon] Autolock=false LockOnResume=false Timeout=0 kscreenlockerrc # VNC config cat >~/.vnc/config <<- vncconfig session=plasmax11 dpi=192 geometry=1920x1080 framerate=60 depth=32 ${_MYVNC_VNCSHARING} vncconfig # SSH config if [ -f ~/.ssh/id_ed25519 ] then chmod 0600 ~/.ssh/id_ed25519 fi entrypoint ## Docker build DOCKER_BUILDKIT=1 docker build ./. \ --tag myvnc/kde \ && rm -f Dockerfile *.sh