docs(self-host): use digest-less tags when mirroring Hub postgres/busybox - #7
Closed
fetw882 wants to merge 12 commits into
Closed
docs(self-host): use digest-less tags when mirroring Hub postgres/busybox#7fetw882 wants to merge 12 commits into
fetw882 wants to merge 12 commits into
Conversation
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* feat(web): add Simplified Chinese UI locale * fix(web): drop em dashes from zh-CN UI copy Replace em dashes in Simplified Chinese Settings/MCP strings with commas so the new locale matches product copy guidelines. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com>
Treat any path ending in /vN as a complete OpenAI-compatible API root so bases like /v4 or /api/paas/v4 are not rewritten to /v4/v1.
…lie222#481) Co-authored-by: Cursor Agent <cursoragent@cursor.com>
…#484) * fix(compose): allow generic installer download base override Let restricted networks mirror Compose installer assets via RAKAZO_DOWNLOAD_BASE, curl retries, and explicit local/skip, without hardcoding regional CDN defaults. * chore: retrigger CI after unrelated Web E2E flake * fix(compose): harden installer download base to HTTPS-only Require https for RAKAZO_DOWNLOAD_BASE, strip all trailing slashes, and block HTTPS→HTTP redirects on Compose asset curls. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com>
Restricted-network installs already cover Stage A (installer URL) and Stage B (DOWNLOAD_BASE / --local) after elie222#484. Document the existing RAKAZO_IMAGE* compose-pull override so operators can point at a generic registry mirror when GHCR is unreachable. No runtime change. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com>
…222#489) * docs(self-host): add published-images TLS reverse-proxy snippet Images Compose already binds web to loopback :5173; Vite preview same-origin-proxies /api and /rpc. Give operators a host Caddy example and point in-stack Caddy + E2B at production Compose. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> * docs(self-host): set RAKAZO_HOST when proxying published images Vite preview allowlists RAKAZO_HOST. A host Caddy example that forwards Host: app.example.com fails closed if the images env leaves RAKAZO_HOST=localhost. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> * docs(self-host): spell out RAKAZO_HOST for host TLS proxy Vite preview allowlists RAKAZO_HOST. The images example default is localhost; operators using the published-images Caddy snippet must set the public hostname, not leave that default. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> * docs(self-host): drop em dash in published-images TLS note --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> Co-authored-by: elie222 <elie222@users.noreply.github.com>
…elie222#492) * fix(compose): wait for healthy services in published-images installer Prefer `docker compose up -d --wait` after pull so the printed URL is not shown until api/web healthchecks pass. Feature-detect `--wait` via `docker compose up --help` and fall back to `up -d` on older Compose. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> * fix(compose): bound installer health wait to 300s Greptile: `up --wait` can hang if a service never becomes healthy. Use `--wait-timeout 300` when Compose advertises it, matching the production updater. Older Compose keeps unbounded `--wait` or `up -d`. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> * fix(compose): wait only when Compose can time out Review bots: `up --wait` without `--wait-timeout` can hang on one-shot services (Compose < 2.7) or never return if health stays red. Use `--wait --wait-timeout 300` only when help lists `--wait-timeout`; otherwise keep `up -d`. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com>
* fix(compose): allow overriding Hub postgres/busybox images on published-images path POSTGRES_IMAGE and BUSYBOX_IMAGE interpolate on the images Compose file so restricted-network operators can pin mirrors. Unset keeps the existing digest-pinned postgres:16 and busybox:1 defaults. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> * test(compose): accept Hub image env interpolation in images contract The images compose file now wraps postgres/busybox in POSTGRES_IMAGE and BUSYBOX_IMAGE defaults. Keep the digest-pin and busybox:1 assertions on those defaults so the raw-YAML contract still holds. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com>
* Simplify rakazo.com self-host to short CTAs Drop the Docker install one-liner, secret generation, and arch footnotes from the marketing homepage and Get started dialog. Point visitors at docs and GitHub instead, and add a www Playwright coverage that captures the simplified Self-host section for CI screenshots. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Isolate marketing homepage E2E from product Playwright Move the marketing homepage spec into apps/www with its own Playwright config so product chromium no longer starts Astro on every Web E2E run. CI runs the www suite after product e2e and still writes screenshots under apps/web/test-results for the existing gallery publisher. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Scope marketing Get started click to the Self-host CTA Exercise the Self-host section opener directly so the test does not pass via the hero button alone. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Honor WWW_PORT in the www Astro server Playwright already chooses the marketing baseURL from WWW_PORT. Read the same env in astro.config so custom-port E2E runs start Astro on that port. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Validate WWW_PORT for Astro and Playwright together Empty or invalid WWW_PORT values were becoming 0 via Number(...), which can bind Vite to an OS-assigned port while Playwright still waits on :0. Share one integer 1..65535 resolver between both configs. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com>
* Add System / Light / Dark appearance across web and mobile Shared ui-tokens now expose light and dark palettes as CSS variables and JS tokens. Web persists the preference locally, applies it before paint, and adds a compact Appearance control in account settings. Mobile uses the same preference with native theme APIs. Playwright covers the light path for CI screenshots. Closes elie222#502 Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Fix appearance lint: format token classNames and fieldset control Biome wanted wraps after the hex-to-CSS-var migration. Appearance uses a fieldset for the segmented control, and the unused mobile type import is gone. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Fix light-mode chrome holes after hex-to-token pass. Map remaining dark hover/surface hex and button variants to shared tokens (cream uses cream-ink), rebuild mobile StyleSheets per appearance so account/nav restyle, and cover the mapping in unit tests. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Format appearance follow-up files for Biome lint. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Rerender mobile System theme when the OS scheme flips. useResolvedAppearance now snapshots resolved light/dark so useSyncExternalStore updates StyleSheets, nav, and status bar when preference stays system. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Address CodeRabbit light-mode contrast and i18n gaps. Theme Auth/MCP/wordmark chrome with readable tokens, fill Appearance locale strings, harden localStorage access, and keep artifact card borders distinct from their elevated fill. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Fix light-mode chrome holes in settings and shell frames. Selected rows and choice options use themed surfaces with ink instead of hardcoded near-black fills; Appearance labels and settings scroll stay readable; cream/cream-ink primary replaces washed accent purple. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Format theme-touched files for Biome lint. CI lint failed on ternary wrapping in mobile account/nav screens and web model/onboarding/voice overlays after the appearance pass. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Use white surface wash for the selected sidebar row. Elevated and sidebar are nearly the same in light mode, so selection barely showed. Surface (white) on the gray sidebar matches Grok Bot and keeps ink readable. Also bump search/composer placeholders to body. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Strengthen composer placeholder contrast in light mode. Use body ink for the Message placeholder so it stays readable on the light composer field. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Keep Change password accent on cream + cream-ink when disabled. Disabled opacity was washing the cream primary into a medium gray pill in the light-mode settings frames. Accent CTAs now keep --rk-cream / --rk-cream-ink at full strength. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com>
Restricted-network operators can already override POSTGRES_IMAGE and BUSYBOX_IMAGE. Copying the default digest pin often fails on registry mirrors, so document digest-less tags such as postgres:16. Co-authored-by: Zhang Ning <fetw882@users.noreply.github.com>
|
Wrong target: this is an intra-fork PR on Open it from: Branch is 1 commit ahead of |
Owner
Author
|
Superseded: Cloud Agent branched from stale fork main and picked up 115-file drift. Will re-open a docs-only PR to elie222/rakazo. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wrong target (intra-fork). Open the real PR against
elie222/rakazofrom this compare URL:https://github.com/elie222/rakazo/compare/main...fetw882:cursor/docs-hub-image-digest-less-tag-682d?quick_pull=1&title=docs(self-host)%3A%20use%20digest-less%20tags%20when%20mirroring%20Hub%20postgres%2Fbusybox
Why
elie222#493 already lets published-images Compose override Hub
postgres/busyboxviaPOSTGRES_IMAGE/BUSYBOX_IMAGE. Restricted-network operators who copy the default digest-pinned reference into a registry mirror often fail the pull — mirrors commonly republish a tag, not that exact digest. The Restricted networks section still said Stage C does not cover Hub images.What
Docs-only in
docs/self-host.mdRestricted networks:POSTGRES_IMAGE/BUSYBOX_IMAGEenv overridespostgres:16)registry-mirrorsas the unset-var alternativeregistry.example.comonly — no vendor CDN brand defaultsOut of scope
No compose YAML, install-script, or
.env.images.examplechanges (orthogonal open PRs elie222#494–elie222#498 / elie222#497).Test plan
docs/self-host.mdonly${POSTGRES_IMAGE:-postgres:16@sha256:…}/${BUSYBOX_IMAGE:-busybox:1}