mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[PR #416] [MERGED] Make default run UID/GID configurable, fix UID following GID on update #448
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#448
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?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/wolf/pull/416
Author: @JBailes
Created: 5/31/2026
Status: ✅ Merged
Merged: 5/31/2026
Merged by: @JBailes
Base:
stable← Head:fix/configurable-default-run-uid-gid📝 Commits (3)
9f06a5cMake default run UID/GID configurable and fix UID-follows-GID on update113adfeUse existing utils::get_env for run UID/GID defaults7a11d7adocs: list WOLF_DEFAULT_RUN_UID/GID in config page and Dockerfile📊 Changes
5 files changed (+34 additions, -3 deletions)
View changed files
📝
docker/wolf.Dockerfile(+2 -0)📝
docs/modules/user/pages/configuration.adoc(+8 -0)📝
docs/modules/user/pages/quickstart.adoc(+14 -0)📝
src/moonlight-server/api/endpoints.cpp(+1 -1)📝
src/moonlight-server/state/serialised_config.hpp(+9 -2)📄 Description
Problem
Apps run as
1000:1000by default, which bakes in a UID/GID convention thatisn't universal. On Unraid the
nobodyuser is99:100, so the defaultsnever matched the host and every newly paired client had to be corrected by
hand.
That manual correction was also broken. In
endpoint_UpdateClientSettings,the
run_uidfield was assigned fromnew_settings.run_gid:So whatever GID you submitted was copied into the UID too — you could only ever
end up with
99:99or100:100, never99:100. Submitting only a new UID(no GID) silently dropped the change, because the
value_orfell through to thecurrent value. On Unraid this left Steam and other apps running with a UID
outside the expected
1000–60000range and with file ownership that didn't lineup with the host, which broke streaming.
Changes
ClientSettings::run_uid/run_gidnow read
WOLF_DEFAULT_RUN_UID/WOLF_DEFAULT_RUN_GIDvia the existingutils::get_env(falling back to1000). Both new-client paths default-constructClientSettings, so they inherit the override. Persisted clients keep theirsaved values, so this only affects new clients.
endpoint_UpdateClientSettingsnow readsnew_settings.run_uidfor therun_uidfield, so UID and GID can be setindependently.
Why env vars
This is what lets the Unraid plugin (and any other turnkey deployment) ship the
right defaults: the plugin controls Wolf's container environment, so it can set
WOLF_DEFAULT_RUN_UID=99/WOLF_DEFAULT_RUN_GID=100and every new client iscorrect out of the box, with no per-client editing.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.