发布

  • fix(installer): Windows port 8080 conflict + ComfyUI tier gating (#552)

    frostbyte_neo 发布于 2026-03-21 22:16:05 +00:00 | 2571 次提交 在此版本后已推送到 main

    • fix(installer): Windows port 8080 conflict + ComfyUI tier-aware gating

    Two issues reported by beta tester on Windows 11 + WSL2 (7GB RAM,
    NVIDIA 940MX 2GB VRAM, Tier 0):

    1. Port 8080 conflict: Windows env generator hardcoded OLLAMA_PORT=8080,
      but wslrelay occupies port 8080 on every WSL2 system. Changed default
      to 11434, matching the Linux default in .env.example. The Docker
      internal port stays 8080 — only the host-facing port changes.

    2. ComfyUI crashes low-RAM systems: Full Stack silently enabled ComfyUI,
      which requests shm_size 8GB + memory limit 24GB. On a 7GB system,
      Docker can't allocate shared memory, causing a network bridge failure
      that kills the entire compose-up. Added tier-aware auto-disable for
      Tier 0 and Tier 1 in Full Stack mode, with a warning and re-prompt
      in Custom mode.

    Changes:

    • env-generator.ps1: OLLAMA_PORT 8080 → 11434
    • ui.sh: Full Stack auto-disables ComfyUI on Tier 0/1 with user message
    • install-core.sh: add --no-comfyui / --comfyui flags + usage docs
    • 03-features.sh: Custom mode warns Tier 0/1 users and flips default to N

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    • fix(windows): add ComfyUI tier-aware gating to Windows installer

    PR #552 added ComfyUI tier gating for the Linux bash installer but the
    Windows PowerShell installer has its own parallel code paths that were
    untouched. ComfyUI was always included in the compose stack on Windows
    because the service skip switch had no "comfyui" case.

    This was the actual root cause of the beta tester's fatal crash on
    Windows 11 + WSL2 (7GB RAM, Tier 0) — ComfyUI's shm_size: 8g
    exceeded available memory, crashing Docker's network bridge creation.

    Changes:

    • install.ps1: add -Comfyui and -NoComfyui switch parameters
    • install-windows.ps1: add params, context vars, and "comfyui" case
      to the service skip switch (the critical fix)
    • 03-features.ps1: add $enableComfyui variable, Full Stack auto-disables
      on Tier 0/1 with user message, Custom mode adds ComfyUI prompt with
      tier warning, Core Only disables ComfyUI

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    • fix: strip spurious UTF-8 BOMs from PowerShell files

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    • fix(installer): add ComfyUI tier safety net for non-interactive mode

    The tier-aware ComfyUI gating only ran inside the interactive menu block.
    Non-interactive installs (--non-interactive / -NonInteractive) skipped
    the menu entirely, leaving ENABLE_COMFYUI=true on Tier 0/1 systems
    where ComfyUI's shm_size 8GB exceeds available RAM.

    Add a safety net after the interactive block on both Linux and Windows
    that unconditionally disables ComfyUI on Tier 0/1. In interactive mode
    this is a no-op (menu already handled it). In non-interactive mode this
    prevents the crash.

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    • fix(installer): scope ComfyUI safety net to non-interactive mode only

    The safety net unconditionally overrode ENABLE_COMFYUI on Tier 0/1,
    which would silently undo an explicit user confirmation in Custom mode
    (user says Y to ComfyUI, Y to the tier warning, then safety net
    disables it anyway).

    Guard with ! $INTERACTIVE (Linux) / $nonInteractive (Windows) so it
    only fires in headless mode where the user was never prompted.
    Interactive mode already has its own tier checks in the menu.

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    • fix(windows): remove incorrect nonInteractive guard from Custom mode warning

    The previous commit accidentally applied the $nonInteractive guard to
    the Custom mode tier warning prompt inside the interactive menu block.
    Since the menu block itself is gated by -not $nonInteractive, the
    condition was always false and the warning never fired.

    The guard should only be on the safety net after the menu block.
    The Custom mode warning is interactive by definition.

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com


    Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com

    下载附件