فهرست منبع

Mise à jour de 'Dockerfile'

penta 4 روز پیش
والد
کامیت
431ed52814
1فایلهای تغییر یافته به همراه33 افزوده شده و 11 حذف شده
  1. 33 11
      Dockerfile

+ 33 - 11
Dockerfile

@@ -50,6 +50,38 @@ RUN set -eux; \
         -ldl; \
     test -s /out/selkies_joystick_interposer.so
 
+# -----------------------------------------------------------------------------
+# Build the Selkies Python environment
+# -----------------------------------------------------------------------------
+
+FROM docker.io/library/ubuntu:${DISTRIB_RELEASE} AS selkies-runtime-builder
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+COPY --from=selkies-build /opt/pypi/dist/selkies-*.whl /tmp/
+
+RUN apt-get update \
+    && apt-get install --no-install-recommends -y \
+        build-essential \
+        libxkbcommon-dev \
+        pkg-config \
+        python3 \
+        python3-dev \
+        python3-pip \
+        python3-venv \
+    && python3 -m venv /opt/selkies \
+    && /opt/selkies/bin/python -m pip install \
+        --no-cache-dir \
+        --upgrade \
+        pip \
+    && /opt/selkies/bin/python -m pip install \
+        --no-cache-dir \
+        /tmp/selkies-*.whl \
+    && rm -rf \
+        /tmp/selkies-*.whl \
+        /var/lib/apt/lists/*
 
 # -----------------------------------------------------------------------------
 # Build the current nvidia-vaapi-driver without retaining build dependencies
@@ -381,17 +413,7 @@ ENV PATH="/opt/selkies/bin:/usr/local/nvidia/bin:${PATH}" \
     LD_LIBRARY_PATH="/usr/local/nvidia/lib:/usr/local/nvidia/lib64"
 
 # Install the Selkies wheel from the official stable build image.
-COPY --from=selkies-build /opt/pypi/dist/selkies-*.whl /tmp/
-
-RUN python3 -m venv /opt/selkies \
-    && /opt/selkies/bin/python -m pip install \
-        --no-cache-dir \
-        --upgrade \
-        pip \
-    && /opt/selkies/bin/python -m pip install \
-        --no-cache-dir \
-        /tmp/selkies-*.whl \
-    && rm -f /tmp/selkies-*.whl
+COPY --from=selkies-runtime-builder /opt/selkies /opt/selkies
 
 COPY --from=selkies-js-interposer-builder \
     /out/selkies_joystick_interposer.so \