Commit Graph
17 Commits
Author SHA1 Message Date
inference-admin b657030d24 release.sh: correct the build prerequisites (builds are remote, not docker-local)
I had it wrong: `cloudron builder build` uploads the build context and the
registry app's BuildKit builds it — the caller needs no docker, only a registry
login. The guard now checks for that login and prints both bootstrap routes
(narrow app password scoped to the registry app, or the CLI device flow) instead
of blaming a missing docker binary.
2026-10-26 01:39:38 +00:00
inference-admin bb2503bb47 Add release.sh; make the verify block honest; print the seed script's own revision
Three drifts between this repo and reality, found while moving the per-member key
seed into the app:

- The 'verify after every image deploy' block asserted the CREAM palette
  (rgb(250,248,245)). The deployed palette has been the green wash
  (rgb(234,243,234) with white text areas) for some time, so a correct deploy
  would have read as a failure — and invited someone to 'fix' the CSS back.
- The block still verified against librechat-test.inference.coop; the swap to
  chat.inference.coop happened 2026-10-21 and that alias is not provisioned.
- Nothing checked that the scheduler task's script exists in the running image,
  which is exactly the failure mode a manifest repoint can introduce.

release.sh encodes the documented release flow (dirty-tree guard, always
--no-cache, pin-before-deploy) and its verify subcommand runs checks 1-5 plus the
seed task's log lines. sync-keys.js now prints its own md5 prefix on every run,
so a stale volume copy can never hide again — the repo copy's md5 is the
authority.

Verified: ./release.sh verify passes all six checks against the live app;
./release.sh volume sync-keys.js confirms md5 parity.
2026-10-26 01:34:22 +00:00
inference-admin 2d66ea212d README: document the in-app key-sync scheduling, the creds file, and the fail-closed guards 2026-10-25 22:44:34 +00:00
Nathan Schneider a21f496de2 README: PWA deploy lessons (stale COPY layer, icon cache-busting, maskable safe zone, Firefox crossorigin, theme bars) 2026-10-22 13:35:57 -06:00
Nathan Schneider ecb99a633c README: final palette — cream page, white text areas, green accents 2026-10-19 12:54:57 -06:00
Nathan Schneider 92c06e7012 README: Figtree self-hosting + linked footer notes 2026-10-19 10:42:46 -06:00
Nathan Schneider 264f2700b7 README: dashboard-green light palette + UI string patch notes 2026-10-19 10:35:04 -06:00
Nathan Schneider d91c91f7a3 README: per-member image billing restored (system key safety-net only) 2026-10-19 08:50:29 -06:00
Nathan Schneider f15307d2f7 README: images bill to system key (no customUserVars gate); pluginauths inert 2026-10-19 08:30:29 -06:00
Nathan Schneider 3811105847 README: homepage palette source of truth + logo/icon notes 2026-10-18 23:50:34 -06:00
Nathan Schneider 94b401e837 README: per-member key auto-load section + redaction gotcha 2026-10-18 23:28:49 -06:00
Nathan Schneider 126972beeb README: fix verification snippet (single-app API returns top-level object) 2026-10-18 22:54:14 -06:00
Nathan Schneider 91e97b00ea README: document manifest-pinned deploy flow, builder-cache trap, branding overlay, keyless image path; mirror live volume files 2026-10-18 22:52:23 -06:00
Nathan Schneider 5e214e4d7e Add inference-image MCP server (accessible image generation) + proper favicon sizes
- mcp/image_server.py: generate_image tool via the co-op gateway; per-member
  key injected through customUserVars (IC_API_KEY) -> env; verified standalone
  (handshake, tools/list, real 1024x1024 + 1536x1024 images, error paths)
- librechat.yaml: register inference-image with startup:false (per-user
  credentials), 120s timeout
- assets/: real favicon sizes (16/32/192), opaque apple-touch 180, padded
  maskable 512
2026-10-18 20:52:48 -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 6d85622efa Document image generation button addition 2026-10-18 16:56:31 -06:00
Nathan Schneider b2badebad6 Add image model (regolo-qwen-image) to modelSpecs, enabling UI image‑generation button 2026-10-18 16:51:36 -06:00