Stage: bump the appstore pin to 1.4.5 (uv 0.13.5, LibreChat unchanged at 0.8.8)

Not deployed. Diffed against the official 1.4.5 manifest: version, changelog and
the base-image tag were the only differences, so this copy now matches official
field-for-field except dockerImage (+ our scheduler block).

The risk is the overlay, not the bump: every build-time patch runs against a new
base layer, and they are all non-fatal by design, so a silent no-op is the failure
mode. Verify on the rendered DOM. Rollback = repoint dockerImage to
20261023-65a38bb.
This commit is contained in:
inference-admin committed 2026-10-26 01:36:11 +00:00
1 parent bb2503bb47
commit 8f9d6a1e20
3 files changed
+25 -5

No files matched your search

+22 -2
View File
@@ -2,8 +2,9 @@
Source of truth for the co-op's chat instance at
**chat.inference.coop** (Cloudron app `4023ccbf-d57a-4500-97df-14de9cf3516e`,
appstore package `ai.librechat.cloudronapp@1.4.1`, which bundles **LibreChat
v0.8.8** on image `cloudron/ai.librechat.cloudronapp:202610150224320000`).
appstore package `ai.librechat.cloudronapp@1.4.5` — upstream LibreChat is
unchanged at **v0.8.8**; the bump is uv 0.13.1 → 0.13.5 — on base image
`cloudron/ai.librechat.cloudronapp:202610230221180000`).
`librechat-test.inference.coop` was the pre-swap hostname (the swap to
`chat.` happened 2026-10-21; the test alias is still not provisioned).
@@ -160,6 +161,25 @@ cloudron --server my.inference.coop --token "$CLOUDRON_TOKEN" exec --app $APP \
`./release.sh verify` runs checks 1-5 plus the seed task's own log lines and the
running script's revision hash, and exits non-zero on any failure.
### Appstore pin bumps (base image)
The overlay's `FROM` is pinned to the exact appstore image the app runs. Bumping
it is a two-line change in this repo (`Dockerfile` `FROM` + the manifest's
`version`/`changelog` copied from the official manifest) plus a rebuild, but it
re-runs every build-time patch against a new base layer, so treat the overlay as
the risk, not the bump.
```bash
# what the appstore now offers (official manifest, authoritative)
curl -s https://api.cloudron.io/api/v1/apps/ai.librechat.cloudronapp \
| python3 -c "import json,sys; m=json.load(sys.stdin)['data']['manifest']; print(m['version'], m.get('upstreamVersion'), m['changelog'].strip())"
# diff it against our copy — every field must match except dockerImage (+ scheduler)
# then: rebuild, pin, deploy, ./release.sh verify, and re-check the branding block above
```
Rollback is a one-line `dockerImage` repoint to the previous tag (built images
stay in the registry), then `./release.sh deploy`.
### `CloudronManifest.json` rules
- The **only** field you may change is `dockerImage` — it must point at the