feat: downloader for Qwen-Image weights, switch-model.sh script

Two frontier tickets from the ComfyUI map (#38), both unblocked now
that their blockers (#39 model choice, #40 lazytainer research) are
resolved.

- downloader-comfyui service (docker-compose.yml) + COMFYUI_* vars
  (.env.example): fetches Qwen-Image FP8 diffusion/text-encoder/VAE
  weights from Comfy-Org/Qwen-Image_ComfyUI, same test -f guard
  pattern as the existing downloaders. Closes #42.
- scripts/switch-model.sh: swaps GPU residency between llama-server
  and comfyui via direct `docker compose stop`/`up -d`, bypassing
  lazytainer per docs/research/lazytainer-omniroute-idle-stop.md
  (its packet-threshold detector can't distinguish OmniRoute's health
  checks from real traffic, so idle-stop can't be relied on for a
  deliberate swap). llama-server-fast stays resident throughout —
  not part of this swap. Closes #43.
- scripts/update.sh: runs the new downloader profile.

docker compose config -q validated clean.

Refs #38, #42, #43

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MrnMEdzeQzqZE5soVEXPCx
This commit is contained in:
2026-09-06 20:57:38 +02:00
co-authored by Claude-Bot
parent 1932981f09
commit 4b47a1769d
4 changed files with 99 additions and 0 deletions
+1
View File
@@ -89,6 +89,7 @@ docker compose build --pull
echo "==> ensuring models are downloaded (skips already-present files)"
docker compose --profile tools run --rm downloader
docker compose --profile tools run --rm downloader-fast
docker compose --profile tools run --rm downloader-comfyui
echo "==> bringing up omniroute"
docker compose up -d --wait omniroute