Stabilize Sunshine app launch profiles and container isolation.
Update compose security settings and player app configs to improve Steam startup behavior, add desktop/manual launch entries for debugging, and align launch commands across all player profiles. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -13,7 +13,7 @@ RUN if [ -n "$APT_PROXY" ]; then \
|
|||||||
RUN dpkg --add-architecture i386 && \
|
RUN dpkg --add-architecture i386 && \
|
||||||
apt-get update && apt-get install -y \
|
apt-get update && apt-get install -y \
|
||||||
xserver-xorg-core xserver-xorg-video-dummy xserver-xorg-input-libinput \
|
xserver-xorg-core xserver-xorg-video-dummy xserver-xorg-input-libinput \
|
||||||
fluxbox dbus-x11 xauth xfonts-base x11-xserver-utils \
|
fluxbox dbus-x11 xauth xfonts-base x11-xserver-utils xinput \
|
||||||
software-properties-common wget curl ca-certificates locales pciutils \
|
software-properties-common wget curl ca-certificates locales pciutils \
|
||||||
libboost-chrono1.74.0 libboost-filesystem1.74.0 libboost-locale1.74.0 \
|
libboost-chrono1.74.0 libboost-filesystem1.74.0 libboost-locale1.74.0 \
|
||||||
libboost-program-options1.74.0 libboost-thread1.74.0 \
|
libboost-program-options1.74.0 libboost-thread1.74.0 \
|
||||||
@@ -47,6 +47,7 @@ RUN apt-get update && \
|
|||||||
&& ln -sf /lib/x86_64-linux-gnu/libvpx.so.7 /lib/x86_64-linux-gnu/libvpx.so.6 \
|
&& 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 \
|
&& ln -sf /lib/i386-linux-gnu/libvpx.so.7 /lib/i386-linux-gnu/libvpx.so.6 \
|
||||||
&& locale-gen en_US.UTF-8 \
|
&& locale-gen en_US.UTF-8 \
|
||||||
|
&& setcap -r /usr/bin/sunshine-v0.20.0 || true \
|
||||||
&& rm -f /tmp/sunshine.deb \
|
&& rm -f /tmp/sunshine.deb \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
@@ -91,7 +92,6 @@ id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam\n\
|
|||||||
mkdir -p /home/steam/.local/share/Steam /tmp/xdg-steam\n\
|
mkdir -p /home/steam/.local/share/Steam /tmp/xdg-steam\n\
|
||||||
ln -sfn /home/steam/.local/share/Steam /home/steam/.steam\n\
|
ln -sfn /home/steam/.local/share/Steam /home/steam/.steam\n\
|
||||||
chown -R steam:steam /home/steam /tmp/xdg-steam\n\
|
chown -R steam:steam /home/steam /tmp/xdg-steam\n\
|
||||||
modprobe uinput >/dev/null 2>&1 || true\n\
|
|
||||||
mkdir -p /run/dbus\n\
|
mkdir -p /run/dbus\n\
|
||||||
dbus-daemon --system --fork || true\n\
|
dbus-daemon --system --fork || true\n\
|
||||||
Xorg :99 -config /etc/X11/xorg-dummy.conf -nolisten tcp -noreset +extension GLX +extension RANDR +extension RENDER &\n\
|
Xorg :99 -config /etc/X11/xorg-dummy.conf -nolisten tcp -noreset +extension GLX +extension RANDR +extension RENDER &\n\
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ x-game-template: &game-template
|
|||||||
APT_PROXY: ${APT_PROXY:-}
|
APT_PROXY: ${APT_PROXY:-}
|
||||||
user: "root"
|
user: "root"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
privileged: true
|
security_opt:
|
||||||
|
- seccomp:unconfined
|
||||||
|
- apparmor:unconfined
|
||||||
ipc: shareable
|
ipc: shareable
|
||||||
environment:
|
environment:
|
||||||
NVIDIA_DRIVER_CAPABILITIES: all
|
NVIDIA_DRIVER_CAPABILITIES: all
|
||||||
@@ -44,7 +46,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /DATA/AppData/game-server/players/p1_steam:/home/steam/.local/share/Steam
|
- /DATA/AppData/game-server/players/p1_steam:/home/steam/.local/share/Steam
|
||||||
- /DATA/AppData/game-server/players/p1_config:/root/.config/sunshine
|
- /DATA/AppData/game-server/players/p1_config:/root/.config/sunshine
|
||||||
- /run/udev:/run/udev:ro
|
|
||||||
# Добавляем логирование для отладки
|
# Добавляем логирование для отладки
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
@@ -68,7 +69,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /DATA/AppData/game-server/players/p2_steam:/home/steam/.local/share/Steam
|
- /DATA/AppData/game-server/players/p2_steam:/home/steam/.local/share/Steam
|
||||||
- /DATA/AppData/game-server/players/p2_config:/root/.config/sunshine
|
- /DATA/AppData/game-server/players/p2_config:/root/.config/sunshine
|
||||||
- /run/udev:/run/udev:ro
|
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
@@ -91,7 +91,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /DATA/AppData/game-server/players/p3_steam:/home/steam/.local/share/Steam
|
- /DATA/AppData/game-server/players/p3_steam:/home/steam/.local/share/Steam
|
||||||
- /DATA/AppData/game-server/players/p3_config:/root/.config/sunshine
|
- /DATA/AppData/game-server/players/p3_config:/root/.config/sunshine
|
||||||
- /run/udev:/run/udev:ro
|
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
@@ -114,7 +113,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /DATA/AppData/game-server/players/p4_steam:/home/steam/.local/share/Steam
|
- /DATA/AppData/game-server/players/p4_steam:/home/steam/.local/share/Steam
|
||||||
- /DATA/AppData/game-server/players/p4_config:/root/.config/sunshine
|
- /DATA/AppData/game-server/players/p4_config:/root/.config/sunshine
|
||||||
- /run/udev:/run/udev:ro
|
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
|
|||||||
@@ -6,7 +6,33 @@
|
|||||||
{
|
{
|
||||||
"name": "Steam Big Picture",
|
"name": "Steam Big Picture",
|
||||||
"detached": [
|
"detached": [
|
||||||
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; runuser -u steam -- nohup env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 bash -lc \"cd ${ROOT} && exec dbus-run-session -- /usr/games/steam -tenfoot -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; pkill -u steam -f \"steam|steamwebhelper|steam-runtime\" >/dev/null 2>&1 || true; sleep 1; runuser -u steam -- env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 nohup bash -lc \"cd ${ROOT} && exec /usr/games/steam -gamepadui -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
|
],
|
||||||
|
"prep-cmd": [
|
||||||
|
{
|
||||||
|
"do": "",
|
||||||
|
"undo": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"image-path": "steam.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Desktop Test",
|
||||||
|
"detached": [
|
||||||
|
"bash -lc 'echo desktop-test-started >/tmp/desktop-test.log'"
|
||||||
|
],
|
||||||
|
"prep-cmd": [
|
||||||
|
{
|
||||||
|
"do": "",
|
||||||
|
"undo": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"image-path": "desktop.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Steam Manual Start",
|
||||||
|
"detached": [
|
||||||
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; pkill -u steam -f \"steam|steamwebhelper|steam-runtime\" >/dev/null 2>&1 || true; sleep 1; runuser -u steam -- env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 nohup bash -lc \"cd ${ROOT} && exec /usr/games/steam -gamepadui -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
],
|
],
|
||||||
"prep-cmd": [
|
"prep-cmd": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,33 @@
|
|||||||
{
|
{
|
||||||
"name": "Steam Big Picture",
|
"name": "Steam Big Picture",
|
||||||
"detached": [
|
"detached": [
|
||||||
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; runuser -u steam -- nohup env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 bash -lc \"cd ${ROOT} && exec dbus-run-session -- /usr/games/steam -tenfoot -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; pkill -u steam -f \"steam|steamwebhelper|steam-runtime\" >/dev/null 2>&1 || true; sleep 1; runuser -u steam -- env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 nohup bash -lc \"cd ${ROOT} && exec /usr/games/steam -gamepadui -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
|
],
|
||||||
|
"prep-cmd": [
|
||||||
|
{
|
||||||
|
"do": "",
|
||||||
|
"undo": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"image-path": "steam.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Desktop Test",
|
||||||
|
"detached": [
|
||||||
|
"bash -lc 'echo desktop-test-started >/tmp/desktop-test.log'"
|
||||||
|
],
|
||||||
|
"prep-cmd": [
|
||||||
|
{
|
||||||
|
"do": "",
|
||||||
|
"undo": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"image-path": "desktop.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Steam Manual Start",
|
||||||
|
"detached": [
|
||||||
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; pkill -u steam -f \"steam|steamwebhelper|steam-runtime\" >/dev/null 2>&1 || true; sleep 1; runuser -u steam -- env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 nohup bash -lc \"cd ${ROOT} && exec /usr/games/steam -gamepadui -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
],
|
],
|
||||||
"prep-cmd": [
|
"prep-cmd": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,33 @@
|
|||||||
{
|
{
|
||||||
"name": "Steam Big Picture",
|
"name": "Steam Big Picture",
|
||||||
"detached": [
|
"detached": [
|
||||||
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; runuser -u steam -- nohup env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 bash -lc \"cd ${ROOT} && exec dbus-run-session -- /usr/games/steam -tenfoot -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; pkill -u steam -f \"steam|steamwebhelper|steam-runtime\" >/dev/null 2>&1 || true; sleep 1; runuser -u steam -- env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 nohup bash -lc \"cd ${ROOT} && exec /usr/games/steam -gamepadui -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
|
],
|
||||||
|
"prep-cmd": [
|
||||||
|
{
|
||||||
|
"do": "",
|
||||||
|
"undo": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"image-path": "steam.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Desktop Test",
|
||||||
|
"detached": [
|
||||||
|
"bash -lc 'echo desktop-test-started >/tmp/desktop-test.log'"
|
||||||
|
],
|
||||||
|
"prep-cmd": [
|
||||||
|
{
|
||||||
|
"do": "",
|
||||||
|
"undo": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"image-path": "desktop.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Steam Manual Start",
|
||||||
|
"detached": [
|
||||||
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; pkill -u steam -f \"steam|steamwebhelper|steam-runtime\" >/dev/null 2>&1 || true; sleep 1; runuser -u steam -- env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 nohup bash -lc \"cd ${ROOT} && exec /usr/games/steam -gamepadui -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
],
|
],
|
||||||
"prep-cmd": [
|
"prep-cmd": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,33 @@
|
|||||||
{
|
{
|
||||||
"name": "Steam Big Picture",
|
"name": "Steam Big Picture",
|
||||||
"detached": [
|
"detached": [
|
||||||
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; runuser -u steam -- nohup env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 bash -lc \"cd ${ROOT} && exec dbus-run-session -- /usr/games/steam -tenfoot -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; pkill -u steam -f \"steam|steamwebhelper|steam-runtime\" >/dev/null 2>&1 || true; sleep 1; runuser -u steam -- env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 nohup bash -lc \"cd ${ROOT} && exec /usr/games/steam -gamepadui -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
|
],
|
||||||
|
"prep-cmd": [
|
||||||
|
{
|
||||||
|
"do": "",
|
||||||
|
"undo": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"image-path": "steam.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Desktop Test",
|
||||||
|
"detached": [
|
||||||
|
"bash -lc 'echo desktop-test-started >/tmp/desktop-test.log'"
|
||||||
|
],
|
||||||
|
"prep-cmd": [
|
||||||
|
{
|
||||||
|
"do": "",
|
||||||
|
"undo": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"image-path": "desktop.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Steam Manual Start",
|
||||||
|
"detached": [
|
||||||
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; pkill -u steam -f \"steam|steamwebhelper|steam-runtime\" >/dev/null 2>&1 || true; sleep 1; runuser -u steam -- env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 nohup bash -lc \"cd ${ROOT} && exec /usr/games/steam -gamepadui -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
],
|
],
|
||||||
"prep-cmd": [
|
"prep-cmd": [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user