From 01c4dd8525cefa28d59a1679e5f0b25be3edc3c2 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 20 Jun 2026 05:17:41 +0000 Subject: [PATCH] wolf: mount game storage at /mnt/games/* not /home/retro/* paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mounting into /home/retro subpaths causes Docker to create intermediate directories (/.local/share/Steam etc.) as root-owned in the container overlay before init runs. The GoW init chown step doesn't fully fix these, so the retro user hits Permission denied on first write. Move all mounts to neutral /mnt/games/* paths that don't interfere with the container's home directory setup: steam → /mnt/games/steam (add as Steam Library Folder via UI) lutris → /mnt/games/lutris kodi → /mnt/games/kodi firefox → /mnt/games/firefox minecraft → /mnt/games/minecraft saves → /mnt/games/saves emulators → /mnt/games/emulators ROMs stay at /ROMs (GoW ES-DE hardcodes that path). Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01D8ckUJQtj1pH8jtAddBDZs --- services/wolf.sh | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/services/wolf.sh b/services/wolf.sh index 12dff03..033430a 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -1004,7 +1004,7 @@ CATALOG = { name='WolfSteam', title='Steam', icon='https://games-on-whales.github.io/wildlife/apps/steam/assets/icon.png', image='ghcr.io/games-on-whales/steam:edge', - mounts=[f'{games}/steam:/home/retro/.local/share/Steam:rw'], + mounts=[f'{games}/steam:/mnt/games/steam:rw'], env=['PROTON_LOG=1', 'RUN_SWAY=true', 'GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*'], cap_add=['SYS_ADMIN', 'SYS_NICE', 'SYS_PTRACE', 'NET_RAW', 'MKNOD', 'NET_ADMIN'], @@ -1017,9 +1017,9 @@ CATALOG = { icon='https://games-on-whales.github.io/wildlife/apps/es-de/assets/icon.png', image='ghcr.io/games-on-whales/es-de:edge', mounts=[f'{games}/roms:/ROMs:rw', - f'{games}/saves:/home/retro/.config/retroarch/saves:rw', + f'{games}/saves:/mnt/games/saves:rw', f'{games}/media:/media:rw', - f'{games}/emulators:/home/retro/Applications:rw'], + f'{games}/emulators:/mnt/games/emulators:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1027,7 +1027,7 @@ CATALOG = { name='WolfLutris', title='Lutris', icon='https://games-on-whales.github.io/wildlife/apps/lutris/assets/icon.png', image='ghcr.io/games-on-whales/lutris:edge', - mounts=[f'{games}/lutris:/home/retro/.local/share/lutris:rw'], + mounts=[f'{games}/lutris:/mnt/games/lutris:rw'], env=['RUN_SWAY=true', 'GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*'], cap_add=['SYS_ADMIN', 'NET_RAW', 'MKNOD', 'NET_ADMIN'], @@ -1039,7 +1039,7 @@ CATALOG = { icon='https://games-on-whales.github.io/wildlife/apps/retroarch/assets/icon.png', image='ghcr.io/games-on-whales/retroarch:edge', mounts=[f'{games}/roms:/ROMs:rw', - f'{games}/saves:/home/retro/.config/retroarch/saves:rw'], + f'{games}/saves:/mnt/games/saves:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1047,7 +1047,7 @@ CATALOG = { name='WolfPrismLauncher', title='Prism Launcher', icon='https://games-on-whales.github.io/wildlife/apps/prismlauncher/assets/icon.png', image='ghcr.io/games-on-whales/prismlauncher:edge', - mounts=[f'{games}/minecraft:/home/retro/.local/share/PrismLauncher:rw'], + mounts=[f'{games}/minecraft:/mnt/games/minecraft:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1055,7 +1055,7 @@ CATALOG = { name='WolfKodi', title='Kodi', icon='https://games-on-whales.github.io/wildlife/apps/kodi/assets/icon.png', image='ghcr.io/games-on-whales/kodi:edge', - mounts=[f'{games}/kodi:/home/retro/.kodi:rw'], + mounts=[f'{games}/kodi:/mnt/games/kodi:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1063,7 +1063,7 @@ CATALOG = { name='WolfFirefox', title='Firefox', icon='https://games-on-whales.github.io/wildlife/apps/firefox/assets/icon.png', image='ghcr.io/games-on-whales/firefox:edge', - mounts=[f'{games}/firefox:/home/retro/.mozilla:rw'], + mounts=[f'{games}/firefox:/mnt/games/firefox:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1245,7 +1245,7 @@ CATALOG = { name='WolfSteam', title='Steam', icon='https://games-on-whales.github.io/wildlife/apps/steam/assets/icon.png', image='ghcr.io/games-on-whales/steam:edge', - mounts=[f'{games}/steam:/home/retro/.local/share/Steam:rw'], + mounts=[f'{games}/steam:/mnt/games/steam:rw'], env=['PROTON_LOG=1', 'RUN_SWAY=true', 'GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*'], cap_add=['SYS_ADMIN', 'SYS_NICE', 'SYS_PTRACE', 'NET_RAW', 'MKNOD', 'NET_ADMIN'], @@ -1259,9 +1259,9 @@ CATALOG = { icon='https://games-on-whales.github.io/wildlife/apps/es-de/assets/icon.png', image='ghcr.io/games-on-whales/es-de:edge', mounts=[f'{games}/roms:/ROMs:rw', - f'{games}/saves:/home/retro/.config/retroarch/saves:rw', + f'{games}/saves:/mnt/games/saves:rw', f'{games}/media:/media:rw', - f'{games}/emulators:/home/retro/Applications:rw'], + f'{games}/emulators:/mnt/games/emulators:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1269,7 +1269,7 @@ CATALOG = { name='WolfLutris', title='Lutris', icon='https://games-on-whales.github.io/wildlife/apps/lutris/assets/icon.png', image='ghcr.io/games-on-whales/lutris:edge', - mounts=[f'{games}/lutris:/home/retro/.local/share/lutris:rw'], + mounts=[f'{games}/lutris:/mnt/games/lutris:rw'], env=['RUN_SWAY=true', 'GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*'], cap_add=['SYS_ADMIN', 'NET_RAW', 'MKNOD', 'NET_ADMIN'], @@ -1281,7 +1281,7 @@ CATALOG = { icon='https://games-on-whales.github.io/wildlife/apps/retroarch/assets/icon.png', image='ghcr.io/games-on-whales/retroarch:edge', mounts=[f'{games}/roms:/ROMs:rw', - f'{games}/saves:/home/retro/.config/retroarch/saves:rw'], + f'{games}/saves:/mnt/games/saves:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1289,7 +1289,7 @@ CATALOG = { name='WolfPrismLauncher', title='Prism Launcher', icon='https://games-on-whales.github.io/wildlife/apps/prismlauncher/assets/icon.png', image='ghcr.io/games-on-whales/prismlauncher:edge', - mounts=[f'{games}/minecraft:/home/retro/.local/share/PrismLauncher:rw'], + mounts=[f'{games}/minecraft:/mnt/games/minecraft:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1297,7 +1297,7 @@ CATALOG = { name='WolfKodi', title='Kodi', icon='https://games-on-whales.github.io/wildlife/apps/kodi/assets/icon.png', image='ghcr.io/games-on-whales/kodi:edge', - mounts=[f'{games}/kodi:/home/retro/.kodi:rw'], + mounts=[f'{games}/kodi:/mnt/games/kodi:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), @@ -1305,7 +1305,7 @@ CATALOG = { name='WolfFirefox', title='Firefox', icon='https://games-on-whales.github.io/wildlife/apps/firefox/assets/icon.png', image='ghcr.io/games-on-whales/firefox:edge', - mounts=[f'{games}/firefox:/home/retro/.mozilla:rw'], + mounts=[f'{games}/firefox:/mnt/games/firefox:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ),