feat(open-webui): add chat+image frontend, bypass omniroute for comfyui
OmniRoute's built-in comfyui provider hardcodes a CheckpointLoaderSimple (single-file-checkpoint) workflow with no override (confirmed by reading open-sse/handlers/imageGeneration/providers/comfyUI.ts upstream), so it can't drive Qwen-Image 2.1's split unet/text-encoder/ vae GGUF loader chain. Open WebUI's own ComfyUI image backend is fully generic instead — any exported workflow_api.json with arbitrary node IDs mapped to parameters — so it can point straight at comfyui:8188. Chat still goes through omniroute like every other client, via a per-workload key (OPENWEBUI_OMNIROUTE_KEY, minted by hand same as always). Published on host port 8008 per user request. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d09a99accd
commit
8ae32102f9
2 files changed
+47
No files matched your search
@@ -397,6 +397,45 @@ services:
|
||||
restart: unless-stopped
|
||||
networks: [ai-stack]
|
||||
|
||||
# Chat + image-generation frontend. Talks to ComfyUI directly for images —
|
||||
# NOT through omniroute: OmniRoute's built-in `comfyui` provider hardcodes
|
||||
# a CheckpointLoaderSimple (single-file-checkpoint) workflow in
|
||||
# open-sse/handlers/imageGeneration/providers/comfyUI.ts with no override,
|
||||
# so it can't drive Qwen-Image 2.1's split unet/text-encoder/vae GGUF
|
||||
# loader chain. Open WebUI's ComfyUI backend is fully generic instead —
|
||||
# you upload the exact workflow_api.json exported from ComfyUI's own
|
||||
# graph editor and map arbitrary node IDs to parameters.
|
||||
#
|
||||
# Chat backend still goes through omniroute (OpenAI-compatible), same
|
||||
# gateway every other client uses — mint OPENWEBUI_OMNIROUTE_KEY by hand
|
||||
# per docs/proxy-key-onboarding.md, same as any other workload.
|
||||
#
|
||||
# ponytail: only wires the base ComfyUI URL + chat backend via env vars.
|
||||
# COMFYUI_WORKFLOW/COMFYUI_WORKFLOW_NODES env vars exist but are reported
|
||||
# flaky upstream — set the actual workflow JSON by hand in Settings >
|
||||
# Images in the web UI instead, once you've exported it from ComfyUI.
|
||||
open-webui:
|
||||
image: ghcr.io/open-webui/open-webui:main
|
||||
container_name: open-webui
|
||||
depends_on:
|
||||
comfyui:
|
||||
condition: service_started
|
||||
omniroute:
|
||||
condition: service_started
|
||||
environment:
|
||||
- OPENAI_API_BASE_URL=http://omniroute:${OMNIROUTE_API_PORT:-20129}/v1
|
||||
- OPENAI_API_KEY=${OPENWEBUI_OMNIROUTE_KEY:-}
|
||||
- ENABLE_IMAGE_GENERATION=True
|
||||
- IMAGE_GENERATION_ENGINE=comfyui
|
||||
- COMFYUI_BASE_URL=http://comfyui:8188
|
||||
- WEBUI_AUTH=True
|
||||
volumes:
|
||||
- open-webui-data:/app/backend/data
|
||||
ports:
|
||||
- "8008:8080"
|
||||
restart: unless-stopped
|
||||
networks: [ai-stack]
|
||||
|
||||
networks:
|
||||
ai-stack:
|
||||
|
||||
@@ -406,3 +445,4 @@ volumes:
|
||||
comfyui-data:
|
||||
qdrant-data:
|
||||
neo4j-data:
|
||||
open-webui-data:
|
||||
Reference in new issue
Block a user