docs(comfyui): bake RTX VSR provisioning into canonical README

Record the RTXVideoSuperResolution node clone + the nvidia-vfx pip install
(scoped --extra-index-url, uid 1000) in the stacks/comfyui runbook. Flag the
durability split: the node is persistent (basedir/custom_nodes) but nvidia-vfx
lives in the disposable venv (run/), so it must re-run after every fresh
bootstrap. Deliberately not a global PIP_EXTRA_INDEX_URL (torch-pin safety).
Closes the comfy-dev provisioning ticket.
This commit is contained in:
vh
2026-07-19 08:27:10 -07:00
parent fe78461e8b
commit 1ba6dc3257
2 changed files with 48 additions and 2 deletions
+46 -1
View File
@@ -118,4 +118,49 @@ ssh irv-ml1 '
```
User state under `/worktank/comfyui/basedir/` is untouched by either
pattern.
pattern. **But a `run/*` wipe drops any pip deps that live only in the
venv — see RTX VSR below; re-run its pip step after every fresh bootstrap.**
## Custom nodes needing extra provisioning — RTX Video Super Resolution
The **RTX Video Super Resolution** node (`Nvidia_RTX_Nodes_ComfyUI`, Comfy-Org)
needs the NVIDIA MAXINE Video Effects SDK bindings (`nvidia-vfx`, import name
`nvvfx`), served from NVIDIA's package index, not public PyPI. Two pieces with
**different durability**:
| Piece | Lives in | Survives a `run/*` venv wipe? |
|---|---|---|
| the node `Nvidia_RTX_Nodes_ComfyUI` | `basedir/custom_nodes/` (persistent, restic-included) | yes |
| the `nvidia-vfx` wheel | the venv under `run/` (disposable, restic-excluded) | **NO — re-install it** |
So the node itself is durable, but **any venv rebuild (`rm -rf run/*`, the
fresh-bootstrap on an image bump) drops `nvidia-vfx`** and the node breaks on
`import nvvfx` until it's reinstalled. irv-ml1 already meets the node's
requirements (A6000 Ampere+ Tensor cores; driver 595.58 ≥ 590.44; container OS
fine).
Provision from scratch — **both commands run as UID 1000**; a root / `-u 0`
install corrupts venv ownership and crash-loops the boot torch step (see the
`chown -R 1000:1000 venv` lesson):
```bash
# 1. The node — only if basedir/custom_nodes was wiped (normally persistent):
ssh irv-ml1 'git clone https://github.com/Comfy-Org/Nvidia_RTX_Nodes_ComfyUI \
/worktank/comfyui/basedir/custom_nodes/Nvidia_RTX_Nodes_ComfyUI'
# 2. The pip dep — RE-RUN AFTER EVERY venv rebuild (it lives in the disposable venv):
ssh irv-ml1 'docker exec -u 1000:1000 comfyui \
/comfy/mnt/venv/bin/pip install nvidia-vfx --extra-index-url https://pypi.nvidia.com'
# Verify:
ssh irv-ml1 'docker exec -u 1000:1000 comfyui \
/comfy/mnt/venv/bin/python -c "import nvvfx; print(\"nvvfx OK\")"'
```
The `--extra-index-url` is kept **scoped to this one install**, deliberately NOT
promoted to a global `PIP_EXTRA_INDEX_URL` in compose: a fleet-wide extra index
could perturb the delicate pinned torch/cuda + SageAttention resolution the boot
bootstrap depends on (`DISABLE_UPGRADES=true`, torch 2.12.1). The node's own
`requirements.txt` lists `nvidia-vfx`, so if ComfyUI ever auto-installs node
requirements it will need this index reachable — but scoping it to the manual
step keeps the boot bootstrap untouched.