Repository navigation
nix-media-docker: build karakeep with node 24.18.1 - #836
Merged
Merged
Conversation
node 24.19.0 aborts under better-sqlite3, so karakeep-workers dies on every start. Upstream pins node for its Docker builds only, which does not help nixpkgs.
There was a problem hiding this comment.
Pull request overview
Pins Node.js 24.18.1 for Karakeep on nix-media-docker to avoid the better-sqlite3 crash.
Changes:
- Adds a pinned nixpkgs input.
- Overrides Karakeepâs Node.js dependency.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
flake.nix |
Adds the Node.js-compatible nixpkgs revision. |
systems/nix-media-docker/default.nix |
Applies the pinned Node.js package to Karakeep. |
ðĄ Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
karakeep-workers.serviceon nmd has been dead since 05:23 PT today, and it stays dead â every start aborts immediately.What happens
node 24.19.0 aborts when better-sqlite3 finalizes a
Statement. Reproduced again at 19:19 UTC on a manualsystemctl restart, so it is deterministic, not a shutdown race.How it reached the host
nixpkgs-unstableto26.11pre1052672.867dcbc30baf(merged 07:20 UTC).d14174cf7ânodejs_24: 24.18.1 -> 24.19.0(Aug 3).nixos-upgradeon nmd pulled it at ~04:40 PT; karakeep restarted; ABRT at 05:23 PT.The preceding lock (
265b7e2dbbdb) still had 24.18.1, which is why this appeared exactly today.Fix
Build karakeep against a nixpkgs rev pinned at nodejs 24.18.1, scoped to that one package on that one host. Nothing else changes node version.
Upstream (karakeep#2989, fixed by #2996) pins node for Docker builds only, so nixpkgs consumers are still exposed. There is no nixpkgs issue filed for this yet.
Revert the input and the
.overrideoncenodejs_24in unstable carries the node-side fix.Notes for review
flake.lockis not updated in this branch â CI will resolve the newnixpkgs-nodeinput. Happy to commit a lock update instead if you'd rather it be explicit.overrideAttrsto swap node'ssrcin place.nodejs.nixderives build flags from the argumentversioninletbindings thatoverrideAttrscannot reach, so it would build 24.18.1 sources with 24.19.0 feature flags. Pinning a rev is the honest version.nixos-rebuild buildon nmd before merging.Monitoring gap this exposed
The daily health cron did not catch it, for two independent reasons â both fixed outside this PR: