74 lines
2.3 KiB
Docker
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"]
|