See https://next.goauthentik.io/releases/2025.8/ ChangeLog: https://next.goauthentik.io/releases/2025.8/#fixed-in-202581 The following things changed: * We're blocked on going to NodeJS 24.x (which is the version upstream uses) because it breaks with napalm[1]. * The worker has been switched from celery to dramatiq. An automatic migration of the tasks doesn't exist, the operator must make sure to stop the server and let the queue drain[2]. While this eliminates the need of Redis for Celery, the tests fails without Redis. After inspecting the code, it looks like it's still needed for e.g. session management. [1] https://github.com/npm/cli/issues/8541 [2] https://next.goauthentik.io/releases/2025.8/#fixed-in-202581
29 lines
819 B
Nix
29 lines
819 B
Nix
{
|
|
authentik-src,
|
|
authentik-version,
|
|
authentikComponents,
|
|
buildNapalmPackage,
|
|
nodejs_22,
|
|
}:
|
|
buildNapalmPackage "${authentik-src}/web" rec {
|
|
version = authentik-version; # 0.0.0 specified upstream in package.json
|
|
NODE_ENV = "production";
|
|
nodejs = nodejs_22;
|
|
preBuild = ''
|
|
ln -sv ${authentikComponents.docs} ../website
|
|
ln -sv ${authentik-src}/package.json ../
|
|
'';
|
|
# upstream does not clearly separate development dependencies
|
|
# from release build dependencies, therefore this workaround
|
|
CHROMEDRIVER_SKIP_DOWNLOAD = "true";
|
|
npmCommands = [
|
|
"npm install --include=dev --nodedir=${nodejs}/include/node --loglevel verbose --ignore-scripts"
|
|
"npm run build"
|
|
"npm run build:sfe"
|
|
];
|
|
installPhase = ''
|
|
mkdir $out
|
|
mv dist $out/dist
|
|
cp -r authentik icons $out
|
|
'';
|
|
}
|