FROM ubuntu:22.04 # Отключаем интерактивные вопросы во время установки ENV DEBIAN_FRONTEND=noninteractive # 1. Добавляем 32-битную архитектуру для Steam и базовые графические зависимости RUN dpkg --add-architecture i386 && \ apt-get update && apt-get install -y \ xvfb fluxbox dbus-x11 xauth xfonts-base x11-xserver-utils \ software-properties-common wget curl ca-certificates locales pciutils \ libcap2-bin libgomp1 mesa-utils \ libxcb-cursor0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libxcb-randr0 libxcb-xtest0 \ libxcb1 libxcb-render0 libxcb-render-util0 libxcb-util1 libxcb-keysyms1 \ && add-apt-repository multiverse \ && apt-get update # 2. Скачиваем оригинальный рабочий пакет Sunshine по вашей ссылке # ВНИМАНИЕ: Замените маркер ниже на вашу ссылку из браузера, сохранив кавычки! RUN wget "https://github.com/LizardByte/Sunshine/releases/download/v0.21.0/sunshine-ubuntu-22.04-amd64.deb" -O /tmp/sunshine.deb \ && chmod +x /tmp/sunshine.deb # 3. Устанавливаем скачанный пакет и Steam со всеми зависимостями RUN apt-get update && \ echo "debconf steam/question select I AGREE" | debconf-set-selections \ && apt-get install -y /tmp/sunshine.deb steam:i386 steam-devices \ libxtst6 libxtst6:i386 \ libxss1 libxss1:i386 \ libnss3 libnss3:i386 \ libxi6 libxi6:i386 \ libgtk2.0-0 libgtk2.0-0:i386 \ libglib2.0-0 libglib2.0-0:i386 \ libpipewire-0.3-0 libpipewire-0.3-0:i386 \ libxcb-res0 libxcb-res0:i386 \ libvpx7 libvpx7:i386 \ libvdpau1 libvdpau1:i386 \ && ln -sf /lib/x86_64-linux-gnu/libvpx.so.7 /lib/x86_64-linux-gnu/libvpx.so.6 \ && ln -sf /lib/i386-linux-gnu/libvpx.so.7 /lib/i386-linux-gnu/libvpx.so.6 \ && locale-gen en_US.UTF-8 \ && rm -f /tmp/sunshine.deb \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # 4. Скрипт очищает сессию, поднимает виртуальный экран, fluxbox и запускает Sunshine RUN echo '#!/bin/bash\n\ rm -f /tmp/.X99-lock /tmp/.X11-unix/X99\n\ id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam\n\ mkdir -p /home/steam/.local/share/Steam /tmp/xdg-steam\n\ ln -sfn /home/steam/.local/share/Steam /home/steam/.steam\n\ chown -R steam:steam /home/steam /tmp/xdg-steam\n\ Xvfb :99 -ac -screen 0 1920x1080x24 &\n\ export DISPLAY=:99\n\ export HOME=/root\n\ export LANG=en_US.UTF-8\n\ export LC_ALL=en_US.UTF-8\n\ sleep 3\n\ fluxbox &\n\ sleep 2\n\ exec /usr/bin/sunshine' > /entrypoint.sh && chmod +x /entrypoint.sh \ && chmod +x /entrypoint.sh USER root ENTRYPOINT ["/entrypoint.sh"]