Commit Graph
38 Commits
Author SHA1 Message Date
inference-admin 8f9d6a1e20 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.
2026-10-26 01:36:11 +00:00
inference-admin 4e28b7a612 Key sync runs inside the app: scheduler addon task every 10 min, plus write guards
The per-member key seed ran from a steward cron on the co-op agent VM, shelling
into this app over the Cloudron API. That made a member-facing function depend on
a separate machine's uptime and paths (it went silently stale once, exiting 127
on schedule while the job looked healthy).

- CloudronManifest.json: addons.scheduler gains librechat_key_sync
  (cd /app/code/librechat/api && node /app/data/sync-keys.js, */10 * * * *).
  Official addon set (postgresql, mongodb, localstorage, oidc, sendmail) and the
  dockerImage pin are untouched.
- sync-keys.js: refuse to write unless CREDS_KEY can first decrypt an existing
  key row, and unless each fresh ciphertext round-trips back to the plaintext.
  Scheduled runs get a different environment than an interactive exec, so a wrong
  or absent CREDS_KEY must fail loudly instead of overwriting working member keys.
2026-10-25 22:25:10 +00:00
Nathan Schneider 22f9422259 Pin manifest to 20261023-65a38bb 2026-10-23 11:11:45 -06:00
Nathan Schneider 10b63c9454 Pin manifest to 20261023-515c92c 2026-10-23 11:02:42 -06:00
Nathan Schneider 7e94135bc5 Pin manifest to 20261022-17e7c92 2026-10-22 13:32:33 -06:00
Nathan Schneider 077e6141b3 Pin manifest to 20261022-4a2b9c1 (no-cache rebuild — stale COPY layer shipped the old maskable icon) 2026-10-22 12:31:00 -06:00
Nathan Schneider 637fcc3472 Pin manifest to 20261022-d86483e 2026-10-21 21:07:23 -06:00
Nathan Schneider 7eb13856d7 Pin manifest to 20261021-c2c674a 2026-10-20 22:29:25 -06:00
Nathan Schneider 2767536d1f Pin manifest to 20261021-db2dbe3 2026-10-20 22:27:31 -06:00
Nathan Schneider 28790d2fe7 Pin manifest to 20261021-c47c311 2026-10-20 22:21:10 -06:00
Nathan Schneider 0560c6e26b Pin manifest to 20261021-7e1de2f 2026-10-20 22:12:17 -06:00
Nathan Schneider 6a6f8b4103 Pin manifest to 20261021-dcd7486 2026-10-20 21:57:03 -06:00
Nathan Schneider 04b217b306 Pin manifest to 20261020-0468562 2026-10-20 13:45:58 -06:00
Nathan Schneider 3b706eed74 Pin manifest to 20261020-1594a60 2026-10-20 13:41:03 -06:00
Nathan Schneider 5864741233 Pin manifest to e9850d7 2026-10-19 21:43:56 -06:00
Nathan Schneider 289ab2f9ff Pin manifest to 8abdc95 2026-10-19 21:41:48 -06:00
Nathan Schneider 15035fd69e Pin manifest to 05c3681 2026-10-19 12:52:33 -06:00
Nathan Schneider 17129e462b Pin manifest to 429de96 2026-10-19 12:45:20 -06:00
Nathan Schneider ef692d524c Pin manifest to 0a363b3 2026-10-19 12:38:23 -06:00
Nathan Schneider a2c180f848 Pin manifest to a24286c 2026-10-19 10:40:40 -06:00
Nathan Schneider 3bbdda6371 Pin manifest to 499d4fa 2026-10-19 10:32:36 -06:00
Nathan Schneider 911ce3cb1a Pin manifest to 957293d 2026-10-18 23:49:14 -06:00
Nathan Schneider 8398908427 Pin manifest to 990b2db 2026-10-18 23:46:23 -06:00
Nathan Schneider 85e0282cef Pin manifest to da99640 2026-10-18 23:44:18 -06:00
Nathan Schneider 571084d8bf Pin manifest to no-cache image fc9b11e 2026-10-18 22:43:58 -06:00
Nathan Schneider 9f1f12238e Update manifest to new image tag 2026-10-18 22:14:07 -06:00
Nathan Schneider ef795a388b Update manifest dockerImage to latest overlay 2026-10-18 21:39:31 -06:00
Nathan Schneider 6cc87e5833 Update manifest dockerImage to new overlay tag 2026-10-18 21:27:14 -06:00
Nathan Schneider ff8532afd8 Deploy 20261019-5e214e4 (proper favicon sizes) 2026-10-18 20:53:14 -06:00
Nathan Schneider f40680f5a7 Point manifest.dockerImage at the brand-overlay image (CLI deploys manifest.dockerImage) 2026-10-18 20:28:36 -06:00
Nathan Schneider 070dec3d29 Sustainable LibreChat setup: official manifest, config layer, brand overlay
- CloudronManifest.json: byte-identical copy of the OFFICIAL appstore manifest
  (the hand-edited one stripped addons and crash-looped the app on 2026-10-18)
- Dockerfile: pinned base (202610150224320000), brand assets only + title sed
- librechat.yaml: schema 1.3.17; chat models only in picker (qwen-image moved
  to the agent image tool); speech via gateway with capped key refs; SearXNG
  web search; inference-docs MCP server; forward-compatible interface.theme
- mcp/server.py: docs MCP server (stdio, stdlib-only, tool search_docs)
- assets/: co-op logo + favicons/PWA icons
2026-10-18 20:26:40 -06:00
Nathan Schneider 6e4ca9319f Set manifest id to reverse domain for reinstall 2026-10-18 18:16:05 -06:00
Nathan Schneider 6d7d5bdd54 Revert id to original for update compatibility 2026-10-18 18:14:31 -06:00
Nathan Schneider 4140abcd27 Fix CloudronManifest with reverseDomain id 2026-10-18 18:12:41 -06:00
Nathan Schneider c30ca8e23e Update CloudronManifest with required fields 2026-10-18 18:10:14 -06:00
Nathan Schneider e54d6e8233 Add httpPort to CloudronManifest 2026-10-18 18:09:12 -06:00
Nathan Schneider 6bbacecb52 Add manifestVersion to CloudronManifest 2026-10-18 18:08:16 -06:00
Nathan Schneider 447005e4e7 Add CloudronManifest and copy logo into client assets 2026-10-18 17:51:25 -06:00