From f359248db2acbe624d96ec10edd1644dc1451f9c Mon Sep 17 00:00:00 2001 From: Catalan Lover Date: Wed, 20 May 2026 13:48:31 +0200 Subject: [PATCH 1/3] Update Crypto Bindings to enable Musl builds --- apps/draupnir/package.json | 3 ++- package-lock.json | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/draupnir/package.json b/apps/draupnir/package.json index 2c6b1e37..9af1bd18 100644 --- a/apps/draupnir/package.json +++ b/apps/draupnir/package.json @@ -64,7 +64,8 @@ "overrides": { "@the-draupnir-project/matrix-basic-types": "$the-draupnir-project/matrix-basic-types", "@the-draupnir-project/interface-manager": "$the-draupnir-project/interface-manager", - "matrix-protection-suite": "$matrix-protection-suite" + "matrix-protection-suite": "$matrix-protection-suite", + "@matrix-org/matrix-sdk-crypto-nodejs": "0.6.0" }, "engines": { "node": ">=24.0.0" diff --git a/package-lock.json b/package-lock.json index 282ab0e6..b986a732 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3117,9 +3117,9 @@ } }, "node_modules/@matrix-org/matrix-sdk-crypto-nodejs": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@matrix-org/matrix-sdk-crypto-nodejs/-/matrix-sdk-crypto-nodejs-0.4.0.tgz", - "integrity": "sha512-+qqgpn39XFSbsD0dFjssGO9vHEP7sTyfs8yTpt8vuqWpUpF20QMwpCZi0jpYw7GxjErNTsMshopuo8677DfGEA==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@matrix-org/matrix-sdk-crypto-nodejs/-/matrix-sdk-crypto-nodejs-0.6.0.tgz", + "integrity": "sha512-AndGryzkDtFbaDyPBAQ2B4pUhaA/q4HJf3wgiGpPa/70DsdY1Z3R5Wn9yp+56CeHOpk61mNHz/8WDPlzrZDSJw==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -3127,7 +3127,7 @@ "node-downloader-helper": "^2.1.9" }, "engines": { - "node": ">= 22" + "node": ">= 24" } }, "node_modules/@napi-rs/wasm-runtime": { @@ -4652,7 +4652,7 @@ "integrity": "sha512-Qasxj5w2a5jkEOz7fPcO+6nQkO7/TE3/XNZPxVnAo5rNrqAIsItXAwJU8vmrW2QRKWsCcDhT4ONgWOWz5e20MA==", "license": "MIT", "dependencies": { - "@matrix-org/matrix-sdk-crypto-nodejs": "0.4.0", + "@matrix-org/matrix-sdk-crypto-nodejs": "0.6.0", "@types/express": "^4.17.21", "@types/request": "^2.48.13", "another-json": "^0.2.0", From 1256e72264492c108f896f15211849a0dea1762f Mon Sep 17 00:00:00 2001 From: Catalan Lover Date: Wed, 20 May 2026 13:54:29 +0200 Subject: [PATCH 2/3] Update DEPENDENCIES.md with information about Temp override for musl --- DEPENDENCIES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index 2e2a8aff..da85fa9b 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -15,6 +15,11 @@ all dependencies. As we create and pass `MatrixClient` through Draupnir, matrix-protection-suite-for-matrix-bot-sdk, the vector bot-sdk fork itself, and also matrix-appservice-bridge. +### @matrix-org/matrix-crypto-sdk-nodejs + +This is pinned waiting for matrix-appservice-bridge to be updated so we have +musl builds working again allowing Alpine Docker Image to become a reality. + ### postgres https://github.com/porsager/postgres/issues/1143 From 807d0d217991f22f39a7608b465b54610b82dd64 Mon Sep 17 00:00:00 2001 From: Catalan Lover Date: Wed, 20 May 2026 14:13:27 +0200 Subject: [PATCH 3/3] Move Docker File to Node Alpine Base --- Dockerfile | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4142b1c6..c84b608e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,11 +5,10 @@ # syntax=docker/dockerfile:1.7 -FROM node:24-slim AS build-stage -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - apt-get update \ - && apt-get install -y --no-install-recommends git \ - && rm -rf /var/lib/apt/lists/* +FROM node:24-alpine AS build-stage +RUN --mount=type=cache,target=/var/cache/apk,sharing=locked \ + apk add --no-cache git \ + && apk cache clean WORKDIR /tmp/src COPY package.json package-lock.json ./ @@ -30,7 +29,7 @@ COPY . . RUN npm run build \ && npm prune --production -FROM node:24-slim AS final-stage +FROM node:24-alpine AS final-stage COPY --from=build-stage /tmp/src/apps/draupnir /apps/draupnir COPY --from=build-stage /tmp/src/packages /packages COPY --from=build-stage /tmp/src/node_modules /node_modules