Rebase debian build to Debian 12 (Bookworm)
This commit is contained in:
84
Dockerfile
84
Dockerfile
@@ -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 \
|
||||||
|
|||||||
@@ -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"
|
|
||||||
Reference in New Issue
Block a user