fix(compose): image-gen default off on non-GPU platforms + dreamforge network convention#1009
Merged
Lightheartdevs merged 2 commits intoLight-Heart-Labs:mainfrom Apr 27, 2026
Conversation
Two independent defects in one PR.
1. ENABLE_IMAGE_GENERATION default flipped true → false in
docker-compose.base.yml so Open WebUI hides its image-gen UI on
installs where ComfyUI is not present (macOS Apple Silicon, Linux
CPU-only, Linux Intel/ARC, Windows AMD). ComfyUI's manifest
restricts it to gpu_backends: [amd, nvidia], so those other
platforms cannot start the image backend and the button would
always click-to-error.
NVIDIA and AMD overlays add ENABLE_IMAGE_GENERATION to the
open-webui environment using env substitution so .env still
wins: ${ENABLE_IMAGE_GENERATION:-true}. This preserves the
existing user opt-out path (installers/phases/06-directories.sh
writes ENABLE_IMAGE_GENERATION=false to .env when
ENABLE_COMFYUI=false via --no-comfyui or Tier 0/1 auto-disable)
and keeps the dashboard settings toggle
(_OPEN_WEBUI_APPLY_KEYS) effective.
2. extensions/services/dreamforge/compose.yaml declared its own
'networks: dream-network: external: true' block and joined the
service to it explicitly. Base compose renames the default
network to dream-network via 'networks: default: name:
dream-network', so at runtime the merge produced a single
network — but the external declaration caused standalone
docker compose -f dreamforge/compose.yaml config to fail, and
it diverged from the convention used by every other extension.
Removed both the top-level networks block and the service-level
networks reference. Dreamforge now implicitly joins the project
default network (still dream-network via base), matching every
other extension.
Add a short comment above ENABLE_IMAGE_GENERATION in docker-compose.base.yml explaining the default-false / overlays-re-assert pattern. ComfyUI ships only on amd/nvidia (per its manifest), so CPU/Apple users would otherwise hit a missing-engine error from Open WebUI when the var is unset. The comment prevents future GPU overlay authors from silently dropping image-gen by omission.
This was referenced Apr 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two small independent compose defects.
1.
ENABLE_IMAGE_GENERATIONdefaultdocker-compose.base.ymldefaultedENABLE_IMAGE_GENERATIONtotrue. ComfyUI's manifest restricts it togpu_backends: [amd, nvidia], so the image-gen backend cannot run on macOS AppleSilicon, Linux CPU-only, Linux Intel/ARC, or Windows AMD. On those
platforms Open WebUI happily showed the image-gen UI, but clicking
it produced a connection error to
comfyui:8188.Flipped the base default to
false. NVIDIA and AMD overlays nowadd
ENABLE_IMAGE_GENERATIONto theopen-webuienvironmentusing env substitution (
\${ENABLE_IMAGE_GENERATION:-true}) so theexisting user opt-out path remains intact:
installers/phases/06-directories.shwritesENABLE_IMAGE_GENERATION=falseto.envwhenENABLE_COMFYUI=false(i.e.
--no-comfyuior Tier 0/1 auto-disable). Env-substitutionmeans that `.env` value wins over the overlay default → button
correctly hidden.
_OPEN_WEBUI_APPLY_KEYS) continues to work at runtime by writing.env..env)still gets
trueon NVIDIA/AMD via the overlay default.2. dreamforge network convention
extensions/services/dreamforge/compose.yamldeclared a top-levelnetworks: dream-network: external: trueblock and addednetworks: - dream-networkto the service. Base compose renames thedefault network to
dream-networkvianetworks: default: name: dream-network, so at runtime the mergeproduced a single network and everything worked.
However: standalone
docker compose -f dreamforge/compose.yaml configfailed (network dream-network declared as external, but could not be found), and the pattern diverged from the conventionused by all 16 other extensions (none declare networks).
Removed both the top-level
networks:block and the service-levelnetworks:reference. Dreamforge now implicitly joins the projectdefault network — identical runtime reachability, matching
convention.
Testing
docker compose config --quietpasses for: base alone, base +nvidia, base + amd, base + dreamforge (merged).
docker compose -f dreamforge/compose.yaml confignowexits 0 (previously failed).
ENABLE_IMAGE_GENERATION: "true"✓ENABLE_IMAGE_GENERATION: "false"✓Platform Impact
errors).
ComfyUI available.
--no-comfyui: UI now correctly hidden(previously would have shown a broken button).
the base flip; matches ComfyUI manifest scope).
load ComfyUI's AMD overlay).
Scope note
An initially-related healthcheck concern on
`extensions/services/perplexica/compose.yaml` was dropped from
this PR pending runtime reproduction — the original report cited
"Next.js 16" as root cause, which does not exist as a version,
and the 127.0.0.1 probe was already the intended convention after
an earlier PR. Tracked as a separate follow-up.