Real failure hit right after #47 merged: running ./scripts/update.sh on the server produced
==> resolving ComfyUI host GID/UID
COMFYUI_VIDEO_GID: already set, skipping.
...
==> validating compose config
error while interpolating services.llama-server.group_add.[]: required variable HOST_VIDEO_GID is missing a value
Root cause: git pull ran in the middle of the old script, after the GID-resolution step. The script executed the old GID logic first (found the old COMFYUI_VIDEO_GID/COMFYUI_RENDER_GID names, since .env still had them), thengit pull swapped every file on disk out from under the still-running script — including docker-compose.yml, now requiring HOST_VIDEO_GID/HOST_RENDER_GID — but the resolution step that would populate those had already run and finished under the old code, and nothing re-ran it. A self-updating script isn't atomic against its own file changing mid-run.
Fix: move git pull to the very first thing the script does, so every execution is consistently either fully old or fully new code — never a mix.
bash -n and docker compose config -q both validated.
Real failure hit right after #47 merged: running `./scripts/update.sh` on the server produced
```
==> resolving ComfyUI host GID/UID
COMFYUI_VIDEO_GID: already set, skipping.
...
==> validating compose config
error while interpolating services.llama-server.group_add.[]: required variable HOST_VIDEO_GID is missing a value
```
Root cause: `git pull` ran in the *middle* of the old script, after the GID-resolution step. The script executed the old GID logic first (found the old `COMFYUI_VIDEO_GID`/`COMFYUI_RENDER_GID` names, since `.env` still had them), *then* `git pull` swapped every file on disk out from under the still-running script — including `docker-compose.yml`, now requiring `HOST_VIDEO_GID`/`HOST_RENDER_GID` — but the resolution step that would populate those had already run and finished under the old code, and nothing re-ran it. A self-updating script isn't atomic against its own file changing mid-run.
Fix: move `git pull` to the very first thing the script does, so every execution is consistently either fully old or fully new code — never a mix.
`bash -n` and `docker compose config -q` both validated.
Refs #5
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01MrnMEdzeQzqZE5soVEXPCx
Real failure on the server after #47 merged: the old GID-resolution
code ran (found the old COMFYUI_VIDEO_GID/COMFYUI_RENDER_GID vars
"already set"), then git pull swapped every file on disk out from
under the still-running script — including docker-compose.yml, now
requiring HOST_VIDEO_GID/HOST_RENDER_GID — but the resolution step
that would populate those had already run under the old code and
never re-ran. compose validation then failed on the new required
vars that were never set.
A self-updating script isn't atomic against its own file changing
mid-run. Move git pull to the very first thing the script does, so
every run is consistently either fully old or fully new code, never
a mix.
bash -n and docker compose config -q both validated.
haylan
merged commit 63938e95c9 into main2026-09-06 19:40:10 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Real failure hit right after #47 merged: running
./scripts/update.shon the server producedRoot cause:
git pullran in the middle of the old script, after the GID-resolution step. The script executed the old GID logic first (found the oldCOMFYUI_VIDEO_GID/COMFYUI_RENDER_GIDnames, since.envstill had them), thengit pullswapped every file on disk out from under the still-running script — includingdocker-compose.yml, now requiringHOST_VIDEO_GID/HOST_RENDER_GID— but the resolution step that would populate those had already run and finished under the old code, and nothing re-ran it. A self-updating script isn't atomic against its own file changing mid-run.Fix: move
git pullto the very first thing the script does, so every execution is consistently either fully old or fully new code — never a mix.bash -nanddocker compose config -qboth validated.Refs #5
🤖 Generated with Claude Code
https://claude.ai/code/session_01MrnMEdzeQzqZE5soVEXPCx