Dockerfile 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # syntax=docker/dockerfile:1.7
  2. ARG SUNSHINE_VERSION=v2025.924.154138
  3. # On récupère le paquet Sunshine depuis l'image officielle.
  4. FROM ghcr.io/lizardbyte/sunshine:${SUNSHINE_VERSION}-ubuntu-24.04 AS sunshine
  5. # PoC : on réutilise volontairement notre environnement graphique déjà validé.
  6. FROM image-registry.openshift-image-registry.svc:5000/desktop/desktop:latest
  7. USER root
  8. # L'image Sunshine officielle conserve le .deb utilisé pour installer Sunshine.
  9. COPY --from=sunshine /sunshine.deb /tmp/sunshine.deb
  10. RUN apt-get update \
  11. && apt-get install --no-install-recommends -y /tmp/sunshine.deb \
  12. && rm -f /tmp/sunshine.deb \
  13. && apt-get clean \
  14. && rm -rf /var/lib/apt/lists/* /var/cache/apt/*
  15. COPY sunshine-entrypoint.sh /etc/sunshine-entrypoint.sh
  16. RUN sed -i 's/\r$//' /etc/sunshine-entrypoint.sh \
  17. && chmod 0755 /etc/sunshine-entrypoint.sh
  18. # Steam / Proton
  19. RUN dpkg --add-architecture i386 \
  20. && apt-get update \
  21. && apt-get install --no-install-recommends -y \
  22. ca-certificates \
  23. curl \
  24. && curl -fsSL \
  25. https://repo.steampowered.com/steam/archive/stable/steam.gpg \
  26. -o /usr/share/keyrings/steam.gpg \
  27. && printf '%s\n' \
  28. 'deb [arch=amd64,i386 signed-by=/usr/share/keyrings/steam.gpg] https://repo.steampowered.com/steam/ stable steam' \
  29. > /etc/apt/sources.list.d/steam-stable.list \
  30. && apt-get update \
  31. && apt-get install --no-install-recommends -y \
  32. libgl1-mesa-dri:amd64 \
  33. libgl1-mesa-dri:i386 \
  34. libgl1-mesa-glx:amd64 \
  35. libgl1-mesa-glx:i386 \
  36. steam-launcher \
  37. && apt-get clean \
  38. && rm -rf /var/lib/apt/lists/* /var/cache/apt/*
  39. USER 1000:1000
  40. ENV DISPLAY=:20 \
  41. HOME=/home/ubuntu \
  42. USER=ubuntu \
  43. XDG_RUNTIME_DIR=/tmp/runtime-ubuntu \
  44. PIPEWIRE_RUNTIME_DIR=/tmp/runtime-ubuntu \
  45. PULSE_RUNTIME_PATH=/tmp/runtime-ubuntu/pulse \
  46. PULSE_SERVER=unix:/tmp/runtime-ubuntu/pulse/native \
  47. NVIDIA_VISIBLE_DEVICES=all \
  48. NVIDIA_DRIVER_CAPABILITIES=all
  49. WORKDIR /home/ubuntu
  50. EXPOSE 47984-47990/tcp
  51. EXPOSE 48010/tcp
  52. EXPOSE 47998-48000/udp
  53. ENTRYPOINT ["/etc/sunshine-entrypoint.sh"]