Rebase debian build to Debian 12 (Bookworm)

This commit is contained in:
Josh.5
2023-07-10 17:34:45 +12:00
committed by Josh Sunnex
parent 555bd8991d
commit 26b775f66e
2 changed files with 45 additions and 45 deletions

View File

@@ -1,11 +1,11 @@
FROM debian:bullseye-slim FROM debian:bookworm-slim
LABEL maintainer="Josh.5 <jsunnex@gmail.com>" LABEL maintainer="Josh.5 <jsunnex@gmail.com>"
# Update package repos # Update package repos
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
RUN \ RUN \
echo "**** Update apt database ****" \ echo "**** Update apt database ****" \
&& sed -i '/^.*main/ s/$/ contrib non-free/' /etc/apt/sources.list \ && sed -i '/^Components: main/ s/$/ contrib non-free/' /etc/apt/sources.list.d/debian.sources \
&& \ && \
echo echo
@@ -53,27 +53,6 @@ RUN \
&& \ && \
echo echo
# Configure default user and set env
ENV \
PUID=99 \
PGID=100 \
UMASK=000 \
USER="default" \
USER_PASSWORD="password" \
USER_HOME="/home/default" \
TZ="Pacific/Auckland" \
USER_LOCALES="en_US.UTF-8 UTF-8"
RUN \
echo "**** Configure default user '${USER}' ****" \
&& mkdir -p \
${USER_HOME} \
&& useradd -d ${USER_HOME} -s /bin/bash ${USER} \
&& chown -R ${USER} \
${USER_HOME} \
&& echo "${USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
&& \
echo
# Install core packages # Install core packages
RUN \ RUN \
echo "**** Update apt database ****" \ echo "**** Update apt database ****" \
@@ -122,6 +101,27 @@ RUN \
&& \ && \
echo echo
# Configure default user and set user env
ENV \
PUID=99 \
PGID=100 \
UMASK=000 \
USER="default" \
USER_PASSWORD="password" \
USER_HOME="/home/default" \
TZ="Pacific/Auckland" \
USER_LOCALES="en_US.UTF-8 UTF-8"
RUN \
echo "**** Configure default user '${USER}' ****" \
&& mkdir -p \
${USER_HOME} \
&& useradd -d ${USER_HOME} -s /bin/bash ${USER} \
&& chown -R ${USER} \
${USER_HOME} \
&& echo "${USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
&& \
echo
# Install supervisor # Install supervisor
RUN \ RUN \
echo "**** Update apt database ****" \ echo "**** Update apt database ****" \
@@ -142,6 +142,8 @@ RUN \
echo echo
# Install mesa and vulkan requirements # Install mesa and vulkan requirements
# TODO: Strip this section back to only what is required for all GPU types.
# Anything only required for Intel/AMD/NVIDIA should go in the container init.
RUN \ RUN \
echo "**** Update apt database ****" \ echo "**** Update apt database ****" \
&& dpkg --add-architecture i386 \ && dpkg --add-architecture i386 \
@@ -183,6 +185,7 @@ RUN \
echo echo
# Install X Server requirements # Install X Server requirements
# TODO: Refine this list of packages to only what is required.
RUN \ RUN \
echo "**** Update apt database ****" \ echo "**** Update apt database ****" \
&& apt-get update \ && apt-get update \
@@ -202,6 +205,7 @@ RUN \
xauth \ xauth \
xbindkeys \ xbindkeys \
xclip \ xclip \
xcvt \
xdotool \ xdotool \
xfishtank \ xfishtank \
xfonts-base \ xfonts-base \
@@ -248,6 +252,7 @@ RUN \
echo echo
# Install desktop environment # Install desktop environment
# TODO: Specify all needed packages and add '--no-install-recommends'
RUN \ RUN \
echo "**** Update apt database ****" \ echo "**** Update apt database ****" \
&& apt-get update \ && apt-get update \
@@ -292,19 +297,15 @@ RUN \
echo echo
# Add support for flatpaks # Add support for flatpaks
# TODO: Remove bridge-utils
RUN \ RUN \
echo "**** Update apt database ****" \ echo "**** Update apt database ****" \
&& apt-get update \ && apt-get update \
&& \ && \
echo "**** Install flatpak support ****" \ echo "**** Install flatpak support ****" \
&& apt-get install -y \ && apt-get install -y --no-install-recommends \
bridge-utils \
flatpak \ flatpak \
gnome-software-plugin-flatpak \ gnome-software-plugin-flatpak \
libpam-cgfs \
libvirt0 \
lxc \
uidmap \
&& \ && \
echo "**** Configure flatpak ****" \ echo "**** Configure flatpak ****" \
&& chmod u+s /usr/bin/bwrap \ && chmod u+s /usr/bin/bwrap \
@@ -344,14 +345,15 @@ RUN \
&& wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-Linux-x86_64" \ && wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-Linux-x86_64" \
&& chmod +x /usr/local/bin/docker-compose \ && chmod +x /usr/local/bin/docker-compose \
&& \ && \
echo "**** Install nvidia runtime ****" \ # TODO: Fix nvidia-container-toolkit. This is not yet offically supported in Bookworm. If we really need it, we can install it with debian11
&& distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ #echo "**** Install nvidia runtime ****" \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add - \ # && distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list \ # && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add - \
&& apt-get update \ # && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list \
&& apt-get install -y \ # && apt-get update \
nvidia-container-toolkit \ # && apt-get install -y \
&& \ # nvidia-container-toolkit \
#&& \
echo "**** Section cleanup ****" \ echo "**** Section cleanup ****" \
&& apt-get clean autoclean -y \ && apt-get clean autoclean -y \
&& apt-get autoremove -y \ && apt-get autoremove -y \
@@ -506,12 +508,14 @@ ENV \
DISPLAY_SIZEH="900" \ DISPLAY_SIZEH="900" \
DISPLAY_SIZEW="1600" \ DISPLAY_SIZEW="1600" \
DISPLAY_VIDEO_PORT="DFP" \ DISPLAY_VIDEO_PORT="DFP" \
DISPLAY=":55" \ DISPLAY=":55"
NVIDIA_DRIVER_CAPABILITIES="all" \ ENV \
NVIDIA_VISIBLE_DEVICES="all" \
XORG_SOCKET_DIR="/tmp/.X11-unix" \ XORG_SOCKET_DIR="/tmp/.X11-unix" \
XDG_RUNTIME_DIR="/tmp/.X11-unix/run" \ XDG_RUNTIME_DIR="/tmp/.X11-unix/run" \
XDG_DATA_DIRS="/home/default/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/" XDG_DATA_DIRS="/home/default/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/"
ENV \
NVIDIA_DRIVER_CAPABILITIES="all" \
NVIDIA_VISIBLE_DEVICES="all"
# Set pulseaudio environment variables # Set pulseaudio environment variables
ENV \ ENV \

View File

@@ -102,8 +102,4 @@ echo "${USER}:${USER_PASSWORD}" | chpasswd
mkdir -p /tmp/runtime-root mkdir -p /tmp/runtime-root
chown root:root /tmp/runtime-root chown root:root /tmp/runtime-root
# Fix some flatpak quirks (not sure what is happening here) echo "DONE"
mount -t proc none /proc
flatpak list
echo "DONE"