Show full GPU Extra Parameters string everywhere it appears

README-Transcoding now has a dedicated REQUIRED EXTRA PARAMETERS section
with both GPU and non-GPU variants and the Google warning up front.

Manual-Transcoding: two troubleshooting sections that showed mount-only
now show both GPU and non-GPU full strings. NVIDIA section quote style
fixed (--gpus "device=UUID" consistently).
This commit is contained in:
Gmer4Lfe
2026-05-23 14:24:41 -04:00
parent 921e137d95
commit c11e85d8be
2 changed files with 42 additions and 8 deletions
+11 -8
View File
@@ -422,7 +422,10 @@ docker inspect Emby | grep Propagation
# Expected: "Propagation": "shared"
# Wrong: "Propagation": "rprivate"
#
# Fix: Update Emby Extra Parameters, restart Emby:
# Fix: Update Emby Extra Parameters, restart Emby.
# GPU containers (full string):
# --gpus "device=GPU-62e1659d-1ed4-935f-3df3-4bb4339438f1" --pids-limit=0 --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
# Non-GPU (mount only):
# --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
# Remove any standard path mapping for the transcode directory.
@@ -499,10 +502,11 @@ leave the container in a broken state where Emby refuses to start at all.
# Cause: dirty shutdown left the bind mount in a state Docker can't recover.
#
# Recovery:
# 1. Remove the --mount line from Emby Extra Parameters in unRAID Docker UI
# 1. Remove the entire Extra Parameters line from Emby in unRAID Docker UI
# 2. Start Emby and wait for it to fully load (check the WebUI is responsive)
# 3. Add the --mount line back to Extra Parameters:
# --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
# 3. Add the full Extra Parameters line back:
# GPU: --gpus "device=GPU-62e1659d-1ed4-935f-3df3-4bb4339438f1" --pids-limit=0 --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
# Non-GPU: --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
# 4. Save changes and restart Emby
#
# The container starts cleanly without the mount, which clears the broken state.
@@ -598,16 +602,15 @@ interferes with the mount namespace initialization that `bind-propagation=shared
In the unRAID Docker template for Emby:
1. **Extra Parameters** — remove `--runtime=nvidia`, add `--gpus` with the GPU UUID:
1. **Extra Parameters** — remove `--runtime=nvidia`, replace with the full line:
```
--gpus device=GPU-62e1659d-1ed4-935f-3df3-4bb4339438f1 --pids-limit=0 \
--mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
--gpus "device=GPU-62e1659d-1ed4-935f-3df3-4bb4339438f1" --pids-limit=0 --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
```
2. **Variables** — remove the `NVIDIA_VISIBLE_DEVICES` variable entirely.
The `--gpus` flag handles GPU assignment without the env var.
`--gpus device=UUID` uses Docker's native GPU device flag (default runtime) rather than
`--gpus "device=UUID"` uses Docker's native GPU device flag (default runtime) rather than
the full NVIDIA container runtime setup. The container still gets GPU access; it just
skips the device mount phase that conflicts with `bind-propagation=shared`.
+31
View File
@@ -19,6 +19,37 @@ back to RAM.
---
## ━━━ REQUIRED EXTRA PARAMETERS ━━━
> **Stop. Set this before starting Emby or Jellyfin. If you Google how to add GPU
> access to a Docker container on unRAID you will find the wrong answer.** Every
> forum post and guide shows `--runtime=nvidia` + `NVIDIA_VISIBLE_DEVICES`. That
> method conflicts with `bind-propagation=shared` on unRAID 7.2.5+ and breaks on
> container rebuilds. Use `--gpus` instead.
In the unRAID Docker template, open **Advanced View** and paste the following into
the **Extra Parameters** field. Do not use the path mapping UI for the transcode
directory — it does not support `bind-propagation`.
**GPU-accelerated (Emby, Jellyfin with NVENC/NVDEC) — use this:**
```
--gpus "device=GPU-62e1659d-1ed4-935f-3df3-4bb4339438f1" --pids-limit=0 --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
```
**Non-GPU — use this:**
```
--mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
```
In Emby and Jellyfin's transcoding settings, set the transcode temp path to `/ext-ram-transcode`.
Find your GPU UUID: `nvidia-smi -L`
HOST1 GPU UUID (Quadro P2000): `GPU-62e1659d-1ed4-935f-3df3-4bb4339438f1`
**→ Full explanation: [Manual-Transcoding.md](Manual-Transcoding.md)**
---
## ━━━ THE PROBLEM THAT BUILT THIS ━━━
**Three Storage Options, None Perfect on Their Own**