Removal inventory: image generation and Open WebUI #58

Closed
opened 2026-09-24 19:08:19 +00:00 by haylan · 1 comment
Owner

Part of #55

Question

List exactly what must go to remove ComfyUI, Qwen-Image, downloader-comfyui, scripts/switch-model.sh and Open WebUI: compose services, volumes, depends_on, env vars, update.sh lines, docs and research docs, and every other comment/doc that mentions them (e.g. GID comments naming comfyui, qdrant comment 'like comfyui above'). AFK.

Part of #55 ## Question List exactly what must go to remove ComfyUI, Qwen-Image, downloader-comfyui, scripts/switch-model.sh and Open WebUI: compose services, volumes, depends_on, env vars, update.sh lines, docs and research docs, and every other comment/doc that mentions them (e.g. GID comments naming comfyui, qdrant comment 'like comfyui above'). AFK.
haylan added the wayfinder:task label 2026-09-24 19:08:19 +00:00
haylan added a new dependency 2026-09-24 19:08:33 +00:00
haylan self-assigned this 2026-09-24 19:09:09 +00:00
Author
Owner

Resolution: removal inventory

Grepped the whole repo, case-insensitive: comfy, qwen-image/qwen_image, image gen, diffusion, unet, open-webui/openwebui, switch-model, 8188/8138/8008, downloader-, llama-server-fast, #38/#42, comfy.home. The checklist below lists every hit that needs action. Anything not listed is either unaffected or is research history that stays verbatim (see the research docs section).

docker-compose.yml

  • delete service downloader-comfyui, including its whole comment block (Qwen-Image 2.1 GGUF files, models/unet layout, ponytail note about the ComfyUI models root).
  • delete service comfyui, including its comment block (yurisasc image / #38, ComfyUI-GGUF custom node, entrypoint/--base-directory seeding, published port 8138:8188 / comfy.home, OmniRoute comfyui provider). Its HSA_OVERRIDE_GFX_VERSION and PYTORCH_ROCM_ARCH env vars are only used here, so they go with it.
  • delete service open-webui, including its comment block (the "OmniRoute comfyui provider hardcodes CheckpointLoaderSimple" rationale, OPENWEBUI_OMNIROUTE_KEY, and the COMFYUI_WORKFLOW ponytail note). This also removes its depends_on: comfyui and omniroute, port 8008:8080, and every COMFYUI_*/IMAGE_GENERATION_* env var.
  • delete top-level volumes: entries comfyui-data and open-webui-data.
  • edit the qdrant comment: drop "like comfyui above". Keep the fact that the dashboard port is published directly and not gatewayed. The "see docs/agents/... (wayfinder)" pointer is also dangling; hand that to #56/#61.
  • No depends_on in the remaining services points at a removed service. omniroute depends on llama-server and lazytainer depends on llama-server, so both are unaffected.

.env.example

  • edit section header # --- ComfyUI (local image generation, see issue #38 wayfinder map) --- above HOST_VIDEO_GID/HOST_RENDER_GID. Rename it to something like # --- GPU access (group_add GIDs) ---, and change the list of services from "llama-server, llama-server-fast, comfyui" to llama-server, qwen-classifier. llama-server-fast never existed under that name. Keep both vars: llama-server and qwen-classifier still use them in group_add.
  • delete section # --- ComfyUI diffusion model (Qwen-Image 2.1 …) --- with its comment block and keys COMFYUI_DIFFUSION_MODEL_FILE, COMFYUI_TEXT_ENCODER_FILE, COMFYUI_VAE_FILE.
  • delete section # --- Open WebUI (chat + ComfyUI image-gen frontend) --- with key OPENWEBUI_OMNIROUTE_KEY.

scripts/update.sh

  • delete the docker compose --profile tools run --rm downloader-comfyui line in the "ensuring models are downloaded" step.
  • Header comment: no ComfyUI mention. It lists HOST_VIDEO_GID/RENDER_GID as host-resolved values, and that stays correct. Leave the header as is apart from whatever #61 moves.
  • The GID resolution step ("resolving host video/render GIDs (shared by every GPU service)"): keep. It is still needed by llama-server and qwen-classifier.
  • ensure_gum / GUM_* and scripts/vendor/gum_0.14.5_Linux_x86_64.tar.gz: keep. They are not image-gen related: gum drives the interactive .env.example conflict picker in update.sh itself.

scripts/switch-model.sh

  • delete the file. It only swaps GPU residency between llama-server and comfyui. No other script calls it, and nothing outside research docs references it.

Docs (non-research)

  • README.md, docs/network-access.md, docs/proxy-key-onboarding.md, docs/coding-cli-setup/*, docs/server-planing.md, AGENTS.md, QWEN.md, CLAUDE.md: no hits, nothing to do. Ports 8138/8008 are not documented anywhere outside compose.

docs/research/

  • delete whole: docs/research/image-generation-options.md and docs/research/image-generation-model-choice.md, per the map. Only these two docs and their own cross-link reference each other, so no inbound links break.
  • Keep verbatim, but flag in the #57 index (history, not edited):
    • lazytainer-omniroute-idle-stop.md: the lazytainer root-cause analysis is still current, because lazytainer still idles llama-server. Its "Recommendation for scripts/switch-model.sh (#43)" section is superseded (image gen removed).
    • rocm-gpu-pin-and-render-group.md: its names llama-server-fast, comfyui and COMFYUI_VIDEO_GID/RENDER_GID are historical. Its findings (GPU_MAX_HW_QUEUES=1, numeric GIDs) still apply, because two HIP contexts (llama-server + qwen-classifier) still share the card.
    • ponytail-audit-2026-09-09.md: the downloader-comfyui for-loop item and the switch-model.sh mentions are moot.
    • colibri-ai-stack-evaluation.md: lists ComfyUI as a stack component. Historical.
    • Open WebUI mentioned as a client: connecting-cloud-providers.md, langchain-pgvector-vs-litellm-pgvector.md, litellm-knowledgebase.md (says open-webui is the only qdrant consumer, which becomes false), litellm-searxng-search.md, proxy-tool-choice.md. These are already LiteLLM-era or superseded, so the index note only needs "Open WebUI no longer in stack".
    • fast-model-choice.md: its llama-server-fast → qwen-classifier note is already correct. Nothing to do.

Becomes dead / now-unused

  • The published host ports 8138 and 8008 are freed. Nothing else uses them.
  • The OmniRoute comfyui provider (if it was ever registered in the dashboard) and the openwebui-chat virtual key are orphaned. See the server steps below.
  • Nothing else goes dead. The GID vars, the GID step in update.sh, gum and scripts/vendor are all still used (see above). models volume, downloader and downloader-classifier are unaffected.

Manual server-side steps (R9700 box, after push + ./scripts/update.sh)

  • update.sh ends with docker compose up -d --remove-orphans, which removes the comfyui and open-webui containers automatically.
  • Remove the named volumes by hand. Compose never deletes volumes, and these two hold ~20+GB of model files and the chat DB: docker volume ls | grep -E 'comfyui-data|open-webui-data', then docker volume rm <project>_comfyui-data <project>_open-webui-data. The project prefix is normally llm-server.
  • The server's .env keeps stale COMFYUI_* and OPENWEBUI_OMNIROUTE_KEY lines, because update.sh only adds keys and never prunes them. They are harmless, but you can delete them by hand.
  • OmniRoute dashboard: revoke the openwebui-chat key and delete the comfyui provider if either exists.
  • If an external nginx/NPM route to comfy.home (or one to :8008) was ever created, remove it.
  • Optional: docker image rm yurisasc/comfyui-rocm7.1 ghcr.io/open-webui/open-webui:main to reclaim disk.
## Resolution: removal inventory Grepped the whole repo, case-insensitive: comfy, qwen-image/qwen_image, image gen, diffusion, unet, open-webui/openwebui, switch-model, 8188/8138/8008, downloader-, llama-server-fast, #38/#42, comfy.home. The checklist below lists every hit that needs action. Anything not listed is either unaffected or is research history that stays verbatim (see the research docs section). ### docker-compose.yml - [ ] **delete** service `downloader-comfyui`, including its whole comment block (Qwen-Image 2.1 GGUF files, `models/unet` layout, ponytail note about the ComfyUI models root). - [ ] **delete** service `comfyui`, including its comment block (yurisasc image / #38, ComfyUI-GGUF custom node, entrypoint/`--base-directory` seeding, published port `8138:8188` / comfy.home, OmniRoute `comfyui` provider). Its `HSA_OVERRIDE_GFX_VERSION` and `PYTORCH_ROCM_ARCH` env vars are only used here, so they go with it. - [ ] **delete** service `open-webui`, including its comment block (the "OmniRoute comfyui provider hardcodes CheckpointLoaderSimple" rationale, OPENWEBUI_OMNIROUTE_KEY, and the COMFYUI_WORKFLOW ponytail note). This also removes its `depends_on: comfyui` and `omniroute`, port `8008:8080`, and every `COMFYUI_*`/`IMAGE_GENERATION_*` env var. - [ ] **delete** top-level `volumes:` entries `comfyui-data` and `open-webui-data`. - [ ] **edit** the `qdrant` comment: drop "like comfyui above". Keep the fact that the dashboard port is published directly and not gatewayed. The "see docs/agents/... (wayfinder)" pointer is also dangling; hand that to #56/#61. - [ ] No `depends_on` in the remaining services points at a removed service. `omniroute` depends on llama-server and `lazytainer` depends on llama-server, so both are unaffected. ### .env.example - [ ] **edit** section header `# --- ComfyUI (local image generation, see issue #38 wayfinder map) ---` above `HOST_VIDEO_GID`/`HOST_RENDER_GID`. Rename it to something like `# --- GPU access (group_add GIDs) ---`, and change the list of services from "llama-server, llama-server-fast, comfyui" to **llama-server, qwen-classifier**. `llama-server-fast` never existed under that name. **Keep both vars**: llama-server and qwen-classifier still use them in `group_add`. - [ ] **delete** section `# --- ComfyUI diffusion model (Qwen-Image 2.1 …) ---` with its comment block and keys `COMFYUI_DIFFUSION_MODEL_FILE`, `COMFYUI_TEXT_ENCODER_FILE`, `COMFYUI_VAE_FILE`. - [ ] **delete** section `# --- Open WebUI (chat + ComfyUI image-gen frontend) ---` with key `OPENWEBUI_OMNIROUTE_KEY`. ### scripts/update.sh - [ ] **delete** the `docker compose --profile tools run --rm downloader-comfyui` line in the "ensuring models are downloaded" step. - [ ] Header comment: no ComfyUI mention. It lists `HOST_VIDEO_GID/RENDER_GID` as host-resolved values, and that stays correct. Leave the header as is apart from whatever #61 moves. - [ ] The GID resolution step ("resolving host video/render GIDs (shared by every GPU service)"): **keep**. It is still needed by llama-server and qwen-classifier. - [ ] `ensure_gum` / `GUM_*` and `scripts/vendor/gum_0.14.5_Linux_x86_64.tar.gz`: **keep**. They are not image-gen related: gum drives the interactive `.env.example` conflict picker in update.sh itself. ### scripts/switch-model.sh - [ ] **delete the file**. It only swaps GPU residency between llama-server and comfyui. No other script calls it, and nothing outside research docs references it. ### Docs (non-research) - [ ] README.md, docs/network-access.md, docs/proxy-key-onboarding.md, docs/coding-cli-setup/*, docs/server-planing.md, AGENTS.md, QWEN.md, CLAUDE.md: **no hits, nothing to do**. Ports 8138/8008 are not documented anywhere outside compose. ### docs/research/ - [ ] **delete whole**: `docs/research/image-generation-options.md` and `docs/research/image-generation-model-choice.md`, per the map. Only these two docs and their own cross-link reference each other, so no inbound links break. - [ ] **Keep verbatim, but flag in the #57 index** (history, not edited): - `lazytainer-omniroute-idle-stop.md`: the lazytainer root-cause analysis is still current, because lazytainer still idles llama-server. Its "Recommendation for scripts/switch-model.sh (#43)" section is **superseded (image gen removed)**. - `rocm-gpu-pin-and-render-group.md`: its names `llama-server-fast`, `comfyui` and `COMFYUI_VIDEO_GID/RENDER_GID` are historical. Its findings (GPU_MAX_HW_QUEUES=1, numeric GIDs) **still apply**, because two HIP contexts (llama-server + qwen-classifier) still share the card. - `ponytail-audit-2026-09-09.md`: the `downloader-comfyui` for-loop item and the `switch-model.sh` mentions are moot. - `colibri-ai-stack-evaluation.md`: lists ComfyUI as a stack component. Historical. - Open WebUI mentioned as a client: `connecting-cloud-providers.md`, `langchain-pgvector-vs-litellm-pgvector.md`, `litellm-knowledgebase.md` (says open-webui is the only qdrant consumer, which becomes false), `litellm-searxng-search.md`, `proxy-tool-choice.md`. These are already LiteLLM-era or superseded, so the index note only needs "Open WebUI no longer in stack". - `fast-model-choice.md`: its `llama-server-fast` → `qwen-classifier` note is already correct. Nothing to do. ### Becomes dead / now-unused - The published host ports 8138 and 8008 are freed. Nothing else uses them. - The OmniRoute `comfyui` provider (if it was ever registered in the dashboard) and the `openwebui-chat` virtual key are orphaned. See the server steps below. - Nothing else goes dead. The GID vars, the GID step in update.sh, gum and scripts/vendor are all still used (see above). `models` volume, `downloader` and `downloader-classifier` are unaffected. ### Manual server-side steps (R9700 box, after push + `./scripts/update.sh`) - [ ] `update.sh` ends with `docker compose up -d --remove-orphans`, which removes the `comfyui` and `open-webui` containers automatically. - [ ] Remove the named volumes by hand. Compose never deletes volumes, and these two hold ~20+GB of model files and the chat DB: `docker volume ls | grep -E 'comfyui-data|open-webui-data'`, then `docker volume rm <project>_comfyui-data <project>_open-webui-data`. The project prefix is normally `llm-server`. - [ ] The server's `.env` keeps stale `COMFYUI_*` and `OPENWEBUI_OMNIROUTE_KEY` lines, because update.sh only adds keys and never prunes them. They are harmless, but you can delete them by hand. - [ ] OmniRoute dashboard: revoke the `openwebui-chat` key and delete the `comfyui` provider if either exists. - [ ] If an external nginx/NPM route to `comfy.home` (or one to :8008) was ever created, remove it. - [ ] Optional: `docker image rm yurisasc/comfyui-rocm7.1 ghcr.io/open-webui/open-webui:main` to reclaim disk.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Blocks
#60 Target doc structure
haylan/LLM-Server
Reference: haylan/LLM-Server#58