[PR #65] [MERGED] Pass Wolf Den a plain socket path so socat can build the proxy (fixes #59) #71

Closed
opened 2026-10-15 12:55:23 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/unraid-plugin/pull/65
Author: @JBailes
Created: 7/19/2026
Status: ✅ Merged
Merged: 7/19/2026
Merged by: @JBailes

Base: main ← Head: fix/wolfden-socket-plain-path


📝 Commits (1)

  • 9fdbf08 Pass Wolf Den a plain socket path; the entrypoint adds the unix:// scheme

📊 Changes

1 file changed (+14 additions, -8 deletions)

View changed files

📝 scripts/deploy.sh (+14 -8)

📄 Description

Problem

Wolf Den crash-loops on startup, spamming:

Waiting for Wolf socket: unix:///tmp/sockets/wolf.sock ....
Timeout: Socket did not appear within 60s
/entrypoint.sh: line 9: kill: (-1) - No such process

This happens even though the wolf container is healthy and /tmp/sockets/wolf.sock exists and is readable by wolf-den (which runs as root).

Root cause

The #59 fix set WOLF_SOCKET_PATH=unix:///tmp/sockets/wolf.sock. But the current wolf-den:stable image already handles the socket internally. Its entrypoint:

WOLF_SOCKET_PATH=${WOLF_SOCKET_PATH:-/var/run/wolf/wolf.sock}
socat UNIX-LISTEN:/app/wolf.sock,mode=600,user=1000,group=1000,... UNIX-CONNECT:${WOLF_SOCKET_PATH} 2>/dev/null &
export "WOLF_SOCKET_PATH=unix:///app/wolf.sock"
exec gosu 1000 dotnet WolfLeash.dll
  • It expects a plain filesystem path, which it feeds to socat … UNIX-CONNECT: to build a uid-1000-owned proxy at /app/wolf.sock (Wolf's raw socket is root-only).
  • It then re-exports the unix:// scheme itself for the .NET client.

With a unix:// prefix, socat's UNIX-CONNECT targets a literal (nonexistent) filename, fails silently (2>/dev/null), the proxy is never created, and the socket-wait times out forever.

The upstream maintainer confirmed the unix:// scheme must not be set at the compose level.

Fix

Revert both compose paths (NVIDIA + standard) to the plain WOLF_SOCKET_PATH=/tmp/sockets/wolf.sock, with a comment documenting why the scheme must not be added here so it isn't reintroduced.

Fixes #59


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/unraid-plugin/pull/65 **Author:** [@JBailes](https://github.com/JBailes) **Created:** 7/19/2026 **Status:** ✅ Merged **Merged:** 7/19/2026 **Merged by:** [@JBailes](https://github.com/JBailes) **Base:** `main` ← **Head:** `fix/wolfden-socket-plain-path` --- ### 📝 Commits (1) - [`9fdbf08`](https://github.com/games-on-whales/unraid-plugin/commit/9fdbf089429930793ee96772eb12fe915398a22b) Pass Wolf Den a plain socket path; the entrypoint adds the unix:// scheme ### 📊 Changes **1 file changed** (+14 additions, -8 deletions) <details> <summary>View changed files</summary> 📝 `scripts/deploy.sh` (+14 -8) </details> ### 📄 Description ## Problem Wolf Den crash-loops on startup, spamming: ``` Waiting for Wolf socket: unix:///tmp/sockets/wolf.sock .... Timeout: Socket did not appear within 60s /entrypoint.sh: line 9: kill: (-1) - No such process ``` This happens even though the `wolf` container is healthy and `/tmp/sockets/wolf.sock` exists and is readable by wolf-den (which runs as root). ## Root cause The #59 fix set `WOLF_SOCKET_PATH=unix:///tmp/sockets/wolf.sock`. But the current `wolf-den:stable` image already handles the socket internally. Its entrypoint: ```bash WOLF_SOCKET_PATH=${WOLF_SOCKET_PATH:-/var/run/wolf/wolf.sock} socat UNIX-LISTEN:/app/wolf.sock,mode=600,user=1000,group=1000,... UNIX-CONNECT:${WOLF_SOCKET_PATH} 2>/dev/null & export "WOLF_SOCKET_PATH=unix:///app/wolf.sock" exec gosu 1000 dotnet WolfLeash.dll ``` - It expects **a plain filesystem path**, which it feeds to `socat … UNIX-CONNECT:` to build a uid-1000-owned proxy at `/app/wolf.sock` (Wolf's raw socket is root-only). - It then **re-exports the `unix://` scheme itself** for the .NET client. With a `unix://` prefix, socat's `UNIX-CONNECT` targets a literal (nonexistent) filename, fails **silently** (`2>/dev/null`), the proxy is never created, and the socket-wait times out forever. The upstream maintainer confirmed the `unix://` scheme must not be set at the compose level. ## Fix Revert both compose paths (NVIDIA + standard) to the plain `WOLF_SOCKET_PATH=/tmp/sockets/wolf.sock`, with a comment documenting why the scheme must not be added here so it isn't reintroduced. Fixes #59 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:55:23 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/unraid-plugin#71
No description provided.