Skip to content

fix(docker): runtime build toolchain for better-sqlite3#25

Merged
TONresistor merged 1 commit into
mainfrom
dev
Jun 19, 2026
Merged

fix(docker): runtime build toolchain for better-sqlite3#25
TONresistor merged 1 commit into
mainfrom
dev

Conversation

@TONresistor

Copy link
Copy Markdown
Owner

Second hotfix for the v0.9.0 release Docker image.

After the Buildx fix (#24) let the Docker build actually run, publish-docker failed at the runtime stage: npm ci --omit=dev rebuilds better-sqlite3, which bumped 12.8.0 -> 12.10.0 this cycle and no longer resolves a usable prebuilt for node:20-slim, so it falls back to node-gyp and fails (the runtime stage had no build tools). Dockerfile was unchanged since v0.8.6 — the dependency bump exposed the latent gap.

Fix: install python3/make/g++ in the runtime stage, run npm ci --omit=dev, then purge them in the same layer (image stays slim). --ignore-scripts was rejected: 8 prod deps (sharp, onnxruntime-node, ...) have native install scripts that must run.

Verified 100% locally before pushing:

  • docker build . succeeds (both stages)
  • docker run --help runs the CLI
  • better-sqlite3 + sharp + onnxruntime-node all load at runtime

npm teleton@0.9.0 is already published; re-tagging after merge only rebuilds the Docker image (publish-npm / publish-sdk / create-release skip via their idempotency checks).

@TONresistor TONresistor merged commit 65ac172 into main Jun 19, 2026
8 checks passed
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