Uh oh!
There was an error while loading. Please reload this page.
docs(deployment): promote Docker to the lead path in self-hosting - #8960
Merged
Conversation
) Docker is not one option among three — it is how the platform ships: docker/Dockerfile and .github/workflows/docker-publish.yml build and publish ghcr.io/objectstack-ai/objectstack on every framework release. The page's ordering said the opposite, and ordering is the strongest signal a docs page has. Re-framing, not a rewrite: the "Option 1/2/3" peer numbering is gone, the Docker section leads, Compose and Kubernetes read as shapes of that same path, and bare Node.js (systemd) moves after them as the minority path with a sentence on when it is the right choice. Its body is byte-identical to before the move. Image facts re-verified against the tree rather than copied from the prose: the registry/name and the tag ladder are as documented, but the example version was pinned at 14.8.0 while packages/cli is 17.0.0 (GA'd 2026-08-14) — a stale tag in what is now the lead position. Also made the "self-built runtime, equivalent" Dockerfile actually equivalent to docker/Dockerfile: non-root user and the OS_PORT-aware health check it was missing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011RB4waLuNbdruCo6X9oobm
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
os-project-manager
marked this pull request as ready for review
August 16, 2026 03:10
os-project-manager
enabled auto-merge
August 16, 2026 03:10
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 16, 2026
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 freeto 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.
Fixes#8911
Docker is not one option among three — it is how the platform ships.
docker/Dockerfileand.github/workflows/docker-publish.ymlbuild and publishghcr.io/objectstack-ai/objectstackon every framework release; the page's ordering told a new reader the opposite, and ordering is the strongest signal a docs page has.This is the re-framing the card asked for, not a rewrite. Prose that was already correct is left alone.
What changed — one file,
content/docs/deployment/self-hosting.mdx## Option 2 — Docker (official image)becomes## Docker (official image) — the standard pathand moves to the front of the deployment paths. TheOption 1/2/3peer numbering is gone from all three headings — that numbering was the thing asserting they were equals.build: .back to the Dockerfile in the section above; the Kubernetes subsection already opened with "The same image works unchanged" and is untouched.git hash-objectreadse48b3aed70947447d4d21e3373b4f6cffcef8129on both sides.It assumes you have read…sentence that docs(deployment): retire the Vercel and ObjectQL-migration pages, re-point their inbound redirects, and fix the prose links into them #8947 rewrote is preserved exactly as it landed.OS_ARTIFACT_URLstays on this page, unchanged, as Axis A operational detail. Its heading text is deliberately untouched:environment-variables.mdx,cli.mdxanddocker/Dockerfileall point at the#artifact-pinned-boot-os_artifact_urlanchor.Image facts, verified from the tree
Per the card, no image reference was copied out of the existing prose.
ghcr.io/objectstack-ai/objectstackdocker-publish.ymlIMAGE:,docker/Dockerfileheaderlatestdocker-publish.ymlmetadata-actiontags:latestonly on stable publishesenable=${{ !contains(version, '-') }}platforms: linux/amd64,linux/arm64OS_ARTIFACT_PATH/OS_PORT=8080presetdocker/Dockerfile14.8.0packages/cli/package.jsonis 17.0.014.8.0appeared five times while the CLI is at 17.0.0 (GA'd 2026-08-14, percontent/docs/releases/v17.mdx) — three majors stale, in what this PR makes the lead position, which is the failure the card called out as worse than the ordering itself. All five now read17.0.0.One bounded in-place fix, named with its evidence
The
Dockerfile (self-built runtime, equivalent)block claimed equivalence with the official image while omitting two thingsdocker/Dockerfileactually does: it ran as root (missingRUN chown node:node /srv/appandUSER node, source lines 52-53) and hard-coded8080in the health check where the real one readsprocess.env.OS_PORT||8080(source line 63). Same defect class as the card (Docker prose drifted from the tree), mechanical, correct form pinned verbatim by the source file, no other claim on this file, same gate families. Fixed here rather than filed, because the prose two paragraphs above advertises non-root as a property of the image being described.Verification
Gates run at
e9a250f, the final commit:pnpm check:docs-audit-scope— scope in sync withcontent/docs/, 177 hand-written docs; release-owned pages review-onlypnpm check:role-word— 43 baselined files, no new occurrences (this page has zero and is not baselined)pnpm check:nul-bytes— 5935 text files scanned, no raw ASCII control bytesThe set was re-derived against the actual changed path with
node scripts/pm/dispatch-gates.mjs content/docs/deployment/self-hosting.mdx, which returns exactlycheck:docs-audit-scopeandcheck:role-word;check:nul-bytesis the any-edit convention. No links were added or removed, and the only inbound-linked anchor on this page is preserved.Docs-only, no user-visible package change —
skip-changeset.Generated by Claude Code