webclient-css/Dockerfile
2026-07-12 18:18:24 +01:00

74 lines
2.3 KiB
Docker

FROM ubuntu:26.04
ENV DEBIAN_FRONTEND=noninteractive
# Install unzip first so we can extract the large static zips
RUN apt-get update && apt-get install -y unzip && rm -rf /var/lib/apt/lists/*
# Copy and extract large static files first
COPY nosteam.zip /home/ubuntu/
COPY wine_user_folder.zip /home/ubuntu/
RUN cd /home/ubuntu && unzip nosteam.zip && rm nosteam.zip && unzip wine_user_folder.zip && rm wine_user_folder.zip
# Install all packages
RUN dpkg --add-architecture i386 && \
apt-get update && \
apt-get install -y \
wget \
gnupg2 \
ca-certificates \
&& mkdir -pm755 /etc/apt/keyrings \
&& wget -O- https://dl.winehq.org/wine-builds/winehq.key | gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key \
&& echo "deb [signed-by=/etc/apt/keyrings/winehq-archive.key] https://dl.winehq.org/wine-builds/ubuntu/ resolute main" > /etc/apt/sources.list.d/winehq.list \
&& apt-get update \
&& apt-get install -y --install-recommends winehq-stable \
&& apt-get install -y \
winetricks \
weston \
xwayland \
dbus-x11 \
pipewire \
pipewire-pulse \
pipewire-audio-client-libraries \
wireplumber \
pulseaudio-utils \
ffmpeg \
xdotool \
nodejs \
socat \
npm \
mesa-vulkan-drivers \
vulkan-tools \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
gstreamer1.0-nice \
gstreamer1.0-pipewire \
gir1.2-gst-plugins-bad-1.0 \
python3-gi \
python3-gst-1.0 \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
# Environment variables
ENV VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/lvp_icd.json"
ENV XDG_RUNTIME_DIR=/tmp/weston-runtime
ENV WAYLAND_DISPLAY=wayland-0
ENV DISPLAY=:99
ENV LP_NATIVE_VECTOR_WIDTH=256
ENV MESA_SHADER_CACHE_DIR=/home/ubuntu/.cache/mesa_shader_cache
ENV MESA_SHADER_CACHE_MAX_SIZE=10G
# Copy frequently changing files last
COPY start.sh /home/ubuntu/start.sh
COPY streaming-agent/ /home/ubuntu/streaming-agent/
RUN cd /home/ubuntu/streaming-agent && npm install
RUN pip3 install --break-system-packages -r /home/ubuntu/streaming-agent/requirements.txt
RUN chown -R ubuntu:ubuntu /home/ubuntu/
RUN chmod +x /home/ubuntu/start.sh
USER ubuntu
WORKDIR /home/ubuntu
CMD ["/bin/bash", "/home/ubuntu/start.sh"]