Skip to content

docs: use verified Node container recipe - #3686

Merged
kojiwakayama merged 1 commit into
mainfrom
docs/verify-self-host-container
Aug 13, 2026
Merged

docs: use verified Node container recipe#3686
kojiwakayama merged 1 commit into
mainfrom
docs/verify-self-host-container

Conversation

@kojiwakayama

@kojiwakayama kojiwakayama commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • install dependencies inside the self-hosted container with npm ci
  • build and serve the npm quickstart through its package scripts
  • add a docs contract that rejects the unverified Deno container recipe

The previous Dockerfile excluded node_modules but did not install dependencies, so deno task build failed with veryfront: command not found. The replacement was verified from a fresh npm create veryfront@latest project using public veryfront@0.1.1233, then built and served in Docker with an HTTP 200 response.

Verification

  • failing focused docs test before the guide change
  • deno test --preload=src/testing/preload.ts --no-check --allow-all tests/docs/guide-content.test.ts tests/docs/guide-contracts.test.ts tests/docs/guide-code-examples.test.ts
  • deno task docs:validate
  • deno fmt --check docs/guides/self-hosting.md tests/docs/guide-code-examples.test.ts
  • git diff --check
  • docker build -t veryfront-public-smoke-01233 .
  • container returned HTTP 200 on port 3100

Summary by CodeRabbit

  • Documentation
    • Updated the self-hosting Docker setup to use Node.js 22.
    • Added instructions for installing locked dependencies, building, and starting the application.
    • Improved Docker build caching by separating dependency files from application code.
    • Removed obsolete Deno-based setup instructions.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 916cdb68-602b-4b86-9e70-18ed0e0f5096

📥 Commits

Reviewing files that changed from the base of the PR and between 82ea9a4 and 2ba2b0b.

📒 Files selected for processing (2)
  • docs/guides/self-hosting.md
  • tests/docs/guide-code-examples.test.ts

📝 Walkthrough

Walkthrough

The self-hosting guide now uses a Node.js 22 Docker workflow with locked npm dependencies. Its coverage test verifies the Node.js commands and rejects the previous Deno image.

Changes

Self-hosting Docker workflow

Layer / File(s) Summary
Node.js Docker workflow
docs/guides/self-hosting.md, tests/docs/guide-code-examples.test.ts
The Dockerfile uses Node.js 22, copies package manifests for dependency caching, runs npm ci and npm run build, and starts with npm start. The test verifies these commands and rejects FROM denoland/deno.

Estimated code review effort: 2 (Simple) | ~10 minutes

Mergeability Score: ⚪ Minimal · up to 2ba2b

This documentation and contract-test update introduces no identified current correctness or production risk, so it is merge-ready after normal checks.

Possibly related PRs

Suggested reviewers: kwakayama

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: replacing the self-hosting container recipe with a verified Node-based recipe.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/verify-self-host-container

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2ba2b0b0a6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


EXPOSE 3000
CMD ["deno", "task", "start"]
CMD ["npm", "start"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Run the server as the container's signal-receiving process

When an orchestrator stops or replaces this container, Docker sends SIGTERM to PID 1, which here is npm rather than Veryfront. npm start launches the package script as a child and does not forward SIGTERM, so the handler in cli/commands/serve/command.ts never drains tracked requests or flushes telemetry before the container exits. Use an entrypoint that execs the actual server process, or explicitly forwards and reaps signals, so this production recipe shuts down cleanly.

AGENTS.md reference: AGENTS.md:L57-L57

Useful? React with 👍 / 👎.

@kojiwakayama
kojiwakayama added this pull request to the merge queue Aug 13, 2026
Merged via the queue into main with commit 684224e Aug 13, 2026
33 checks passed
@kojiwakayama
kojiwakayama deleted the docs/verify-self-host-container branch August 13, 2026 21:15
@kojiwakayama kojiwakayama mentioned this pull request Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant