mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[GH-ISSUE #461] Container creation fails with Podman HTTP 500 duplicate mount destination when mounts overrides default template path #280
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#280
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @dustinblack on GitHub (Jul 21, 2026).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/461
Environment
stable/main(ghcr.io/games-on-whales/wolf:stable)Description
When an app runner definition in
config.tomlspecifies a custom volume mapping undermounts(e.g.mounts = ['/etc/wolf/profile-data/mom/WolfSteam:/home/retro']) for an app image that has a default volume template mapped to/home/retro(such asWolfSteam), Wolf appends both mount entries into the container creation request without deduplicating target destination paths.When running with Podman, Podman's SpecGen builder rejects the request and returns an HTTP 500 error:
Steps to Reproduce
/etc/wolf/cfg/config.toml, add an app entry with an explicit mount targeting/home/retro:duplicate mount destination.Workaround
Setting
mounts = []inconfig.toml(or usingHostConfig.Bindsinsidebase_create_json) bypasses the error.Suggested Fix
Wolf's Docker/Podman container spec builder should deduplicate container destination paths prior to submitting the creation request, allowing explicit user mounts in
config.tomlto override default template volume targets.@dustinblack commented on GitHub (Jul 21, 2026):
Additional Workaround Finding: User Persistence via Custom
HOMEPathWe verified an effective workaround for maintaining full host data persistence when launching root apps directly from Moonlight without hitting Podman's duplicate mount error:
Rather than mounting to
/home/retro(which triggers the SpecGen collision with the default template volume):HOMEinEnvto point directly to that mounted directory:This avoids the
/home/retroduplicate mount target in Podman while ensuring Steam, Proton, Sway, and Gamescope save all persistent user credentials and data directly to the host system.@ody commented on GitHub (Jul 22, 2026):
Why are you attempting to mount over the the entire
/home/retro? Since Steam is the content which matters is this context you only really need to mount the Steam specific directories. In my config I mount what ever host directory I want Steam content stored in onto/home/retro/.local/share/Steam. My setup keeps the rest of the configs immutable but if you want all those other configs also on the host then you can mount them similarly.I am wary of overriding the entire directory mount since Wolf is already mounting a session specific directory there.