dgx-spark-playbooks/overrides/open-webui.md
Jason Kneen a680d0472b feat: scaffold skills plugin from DGX Spark playbooks
Adds a Claude Code plugin structure that exposes each NVIDIA DGX Spark
playbook as a triggerable skill, with an index skill ('dgx-spark') that
routes users to the right leaf based on intent and encodes the
relationship graph between playbooks (prerequisites, alternatives,
composes-with, upgrade paths).

Structure:
- overrides/*.md       hand-curated frontmatter + Related sections
- scripts/generate.mjs zero-dep Node generator: nvidia + overrides → skills
- scripts/install.sh   symlinks skills into ~/.claude/skills (--plugin mode available)
- skills/              committed, browsable, installable without Node
- .github/workflows/   auto-regenerates skills/ when playbooks/overrides change

Initial curated leaves: ollama, open-webui, vllm, connect-to-your-spark.
Remaining 37 leaves use generator fallback (title + tagline + summary
extracted from README) and can be curated incrementally via overrides/.
2026-04-19 10:22:08 +01:00

23 lines
2.0 KiB
Markdown

---
description: Install Open WebUI on NVIDIA DGX Spark for a web-based chat interface to LLMs running on Spark GPU. Use when a user wants a browser UI for chatting with local models — most commonly paired with Ollama, either bundled inside Open WebUI or as a separate backend.
---
## When to use this skill
- User has Spark SSH access (`dgx-spark-connect-to-your-spark`) and wants a web chat UI, not just CLI
- User already has Ollama and wants to chat through a browser
- User wants a self-hosted ChatGPT-like interface running entirely on their own hardware
## Key decisions
- **Bundled Ollama or separate?** — Open WebUI ships with an integrated Ollama option (single Docker container). Simpler for first-time users. If the user already ran `dgx-spark-ollama` separately, configure Open WebUI to connect to that existing Ollama instead of running two copies.
- **Sync-managed or manual Docker?** — NVIDIA Sync can manage the SSH tunnel + custom-port setup automatically. Manual Docker gives more control but requires the user to handle port forwarding themselves.
## Non-obvious gotchas
- User must be in the `docker` group on the Spark — `docker ps` without sudo must work. If not, add via `sudo usermod -aG docker $USER` and **log out/in to apply** (a new SSH session is not enough — the session must be fully re-established).
- The Open WebUI container stores user accounts and chat history in a named volume. Don't `docker rm -v` the container unless you intend to lose history.
- First-run creates an admin account from whoever signs up first — if the UI is port-forwarded somewhere other users can reach, sign up immediately before anyone else does.
## Related skills
- **Prerequisite**: `dgx-spark-connect-to-your-spark` — SSH + Sync setup
- **Pairs with**: `dgx-spark-ollama` — the most common backend. Open WebUI can bundle its own Ollama, but if `dgx-spark-ollama` was already set up, reuse it (saves disk, one set of models).
- **Alternative UIs**: `dgx-spark-lm-studio` (desktop GUI, not web) · `dgx-spark-live-vlm-webui` (vision-language models specifically)