- Shell 100%
| .github/workflows | ||
| docs | ||
| packages/settings-ui/root | ||
| scripts | ||
| tests | ||
| unraid-ca | ||
| utils | ||
| .gitattributes | ||
| .gitignore | ||
| DEVELOPING.md | ||
| gow.plg | ||
| LICENSE | ||
| README.md | ||
Games on Whales — Unraid plugin
Run Games on Whales on your Unraid server: stream games and desktops to any Moonlight client (Steam Deck, Apple TV, mobile, desktop) over your LAN or the internet.
The plugin deploys Wolf (the streaming server) and Wolf Den (the on-host launcher UI) via Docker Compose, and adds a Settings page under Settings → Games on Whales for picking a GPU, choosing your appdata path, and starting/stopping the stack.
Status
Beta. Several people are running it daily, but rough edges still exist. The plugin doesn't make permanent changes to your system — uninstalling is a clean rollback if anything goes wrong.
Requirements
- Unraid 6.12 or newer
- The Compose Manager plugin (install from Community Applications first — the GoW installer refuses to proceed without it)
- A GPU that Wolf supports (Intel, AMD, or NVIDIA)
- NVIDIA users:
nvidia_drmmust load withmodeset=1. See docs/FAQ.md before installing — without modeset, Wolf will black-screen or crash on stream start.
Installation
-
In the Unraid webGui, go to Plugins → Install Plugin.
-
Paste the plugin URL and click Install:
https://github.com/games-on-whales/unraid-plugin/releases/latest/download/gow.plg -
After install completes, open Settings → Games on Whales to configure your GPU and appdata path, then click Install.
You should see output like:
╔════════════════════════════╗
║ Installing Games on Whales ║
╚════════════════════════════╝
....
╔══════════╗
║ Complete ║
╚══════════╝
Configuration
The Settings page (Settings → Games on Whales) covers:
- GPU selection — multi-GPU systems get a picker; the chosen GPU is passed through to the Wolf container.
- Appdata path — where Wolf and Wolf Den persist their state. Defaults
to
/mnt/user/appdata/gow. - Wolf Den port — host port for the Wolf Den web UI. Defaults to
8080and can be changed if another container already uses that port. - Wolf network mode — defaults to host networking. You can switch Wolf to
bridge networking or attach it to a custom Docker network such as Unraid
br0with a static IPv4 address for Moonlight pairing. Bridge mode publishes Wolf's default Moonlight ports on the Unraid host; custom networking is the option for avoiding host port conflicts. - Install / Start / Stop / Update — buttons that wrap the underlying
docker composecalls so you don't have to drop to the shell.
Persistent udev rules and an auto-start hook are written to
/boot/config/go so the stack comes back up after a reboot.
The udev rules are Wolf's own
85-wolf.rules,
fetched from upstream each time you deploy (a bundled copy is used if the server
is offline) and installed as /etc/udev/rules.d/85-wolf.rules. They keep Wolf's
virtual controllers off the host and out of other containers; Wolf's
scripts/wolf-input-diag.sh can audit them if input still leaks.
Pairing a Moonlight client
Once the stack is running, open Wolf Den's pairing page:
http://<UNRAID_IP>:<WOLF_DEN_PORT>/Clients/Pairing
Add the Unraid server in Moonlight, then enter the PIN shown by Moonlight on the Wolf Den pairing page. The settings page also shows direct Open Wolf Den and Pair Moonlight links when Wolf Den is running.
If Wolf is configured on a custom Docker network with a static IPv4 address, add that Wolf IP in Moonlight instead of the Unraid host IP.
Troubleshooting
See docs/FAQ.md. NVIDIA users in particular should read the
nvidia_drm.modeset section before reporting black-screen or crashed-Wolf
issues.
Support
- Forum thread (Unraid): TODO — replace with link once the support thread is opened.
- Discord: https://discord.gg/kRGUDHNHt2
- Issues: https://github.com/games-on-whales/unraid-plugin/issues
License
MIT.
Developer notes
See DEVELOPING.md.