Deploy the dev server from the registry instead of building on the host (#65) #84
No reviewers
Labels
No labels
area/ai
area/backend
area/frontend
area/infra
area/scheduler
area/wled
good-first-issue
priority/high
priority/low
priority/medium
type/bug
type/chore
type/ci-cd
type/docs
type/feature
type/qa
v1.0.0
v1.1.0
v1.2.0
v2.0.0
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/Iris-WLED!84
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/deploy-from-registry"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #65's repo-side work. Depends on #64 (
b252b8f), now merged.What it adds
docker-compose.registry.yml— runsgit.rhoving.com/rbrooks/iris-wled:${IRIS_TAG:-main}instead of building locally.Two decisions worth stating, both load-bearing:
docker-compose.override.yml. Compose loads an override file automatically, so committing one would silently redirect every user — including anyone following the README quickstart — to a registry image they may not be able to pull. This file is opt-in via-f, orCOMPOSE_FILEon a host that always deploys this way. Defaultdocker compose up -dstill builds from source.build: !reset nullremoves the base file'sbuild:section, so Compose can only ever pull this image and can never quietly rebuild it from stale local source. I had flagged the v2.24 requirement as a risk; it's moot — the dev host runs Compose v5.5.0.IRIS_TAGdefaults tomainand can be pinned to any:sha-<short>to roll back to a specific commit.docs/setup.md§6 — the one-timedocker login(read-only token: the host only pulls, CI pushes), thegit pull→compose pull→up -d→image prunesequence, theCOMPOSE_FILEshortcut, and rollback.CHANGELOG.md— also consolidates[Unreleased], which had picked up duplicateAddedandChangedheadings from my earlier entries. One heading per section now, all 10 entries preserved.What I found on the dev host
Inspecting
claude@10.1.1.14showed the issue's premise is out of date. It describes switching a live build-on-host deploy over to pulls — but Iris is not running there and has not been since late May:214f8ec, 45 commits behindmain, still carries.github/.envSESSION_SECRETdata/iris.dbroot:root, 26 May — real schemes/approvalsgit.rhoving.comTwo consequences:
docker loginis effectively already done — that checkbox on #65 needs verification, not action.docker-compose.ymlcarriesSESSION_SECRET=${SESSION_SECRET:?Set a random SESSION_SECRET}, and the host.envhas no such key. That is the #42 fix working exactly as intended, but the host needs a secret generated before anything starts.Deploy is authorised and follows separately
Bringing Iris up is a physical-world change —
WLED_HOSTis set, so the scheduler will drive a real controller on the solar schedule. Confirmed with the operator: deploy from the registry image, and back updata/iris.dbbefore lettingalembic upgrade headmigrate three months forward.That happens after this merges, and I will report what actually occurred rather than assume it worked.
Adds docker-compose.registry.yml, which runs git.rhoving.com/rbrooks/iris-wled:${IRIS_TAG:-main} rather than building locally, and documents the deploy sequence in docs/setup.md section 6. Deliberately NOT named docker-compose.override.yml. Compose loads an override file automatically, so committing one would silently redirect every user -- including anyone following the README quickstart -- to a registry image they may not be able to pull. This file is opt-in via -f, or COMPOSE_FILE on a host that always deploys this way. The default `docker compose up -d` still builds from source. build: !reset null removes the base file's build section so Compose can only pull, never quietly rebuild from stale local source. Confirmed supported: the dev host runs Compose v5.5.0, well past the v2.24 that !reset needs. IRIS_TAG defaults to main and can be pinned to a :sha-<short> tag to roll back to a specific commit's image. Also consolidates CHANGELOG [Unreleased], which had picked up duplicate "Added" and "Changed" headings from my earlier entries. One heading per section now; all entries preserved. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>