Skip to content

Commit b895d1d

Browse files
author
dniku
committed
karakeep: use Node 22
The Karakeep SSO VM aborted in better-sqlite3's Statement destructor under Node 24.19.0, as observed in https://github.com/ibizaman/selfhostblocks/actions/runs/32601131491/job/97099512653. This matches Node's deterministic reproducer for a Node 24.19 ObjectWrap cleanup regression at nodejs/node#65446. The fix is merged on Node main in nodejs/node#63985, but its Node 24 backport at nodejs/node#65042 remains open. nixpkgs defaults to the affected Node 24.19. Node 26 does not enter LTS until October 2026, while Node 22 remains supported through April 2027 according to https://github.com/nodejs/Release#release-schedule. Use Node 22 as a temporary supported LTS workaround while preserving explicit package overrides.
1 parent bc3234e commit b895d1d

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

‎modules/services/karakeep.nix‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
config,
33
lib,
4+
pkgs,
45
shb,
56
...
67
}:
@@ -197,6 +198,13 @@ in
197198
services.karakeep = {
198199
enable = true;
199200
meilisearch.enable = true;
201+
# Node 24.19 can abort ObjectWrap addons during GC. Use the supported
202+
# Node 22 LTS until a fixed Node 24 reaches nixpkgs.
203+
# https://github.com/nodejs/node/issues/65446
204+
# Fixed on main: https://github.com/nodejs/node/pull/63985
205+
# Pending Node 24 backport: https://github.com/nodejs/node/pull/65042
206+
# https://github.com/nodejs/Release#release-schedule
207+
package = lib.mkDefault (pkgs.karakeep.override { nodejs = pkgs.nodejs_22; });
200208

201209
extraEnvironment = {
202210
PORT = toString cfg.port;

0 commit comments

Comments
 (0)