Alpine Docker Image (#1146)

* Update Crypto Bindings to enable Musl builds

* Update DEPENDENCIES.md with information about Temp override for musl

* Move Docker File to Node Alpine Base

* Bump Crypto Bindings to 0.6.6

This is the first version of crypto bindings that has ANY support for arm64 musl.

* Update Aliases to Align with Gnuxie Feedback

* Add Changeset
This commit is contained in:
Catalan Lover
2026-09-09 16:26:24 +00:00
committed by GitHub
parent 2e98ac1bae
commit 020789c5a9
5 changed files with 23 additions and 12 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"draupnir": minor
---
Fix support for libmusl and change base image to alpine.
+5
View File
@@ -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
+5 -6
View File
@@ -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
+3 -1
View File
@@ -63,7 +63,9 @@
},
"overrides": {
"@the-draupnir-project/matrix-basic-types": "$the-draupnir-project/matrix-basic-types",
"@the-draupnir-project/interface-manager": "$the-draupnir-project/interface-manager"
"@the-draupnir-project/interface-manager": "$the-draupnir-project/interface-manager",
"@the-draupnir-project/matrix-protection-suite": "$the-draupnir-project/matrix-protection-suite",
"@matrix-org/matrix-sdk-crypto-nodejs": "0.6.6"
},
"engines": {
"node": ">=24.0.0"
+5 -5
View File
@@ -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.6",
"resolved": "https://registry.npmjs.org/@matrix-org/matrix-sdk-crypto-nodejs/-/matrix-sdk-crypto-nodejs-0.6.6.tgz",
"integrity": "sha512-JlYSjq9Sm/0QoUXfk6C7JppsOG0ESY8BHEIaQgjQ8iQ0GkhvJrhPZbMJmd77/Bgeahd1GENf8896nauf4ximzQ==",
"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-2FFo/Kz2vTnOZDv59Q0s803LHf7KzuQ2EwOYYAtO0zUKJ8pV5CPsVC/IHyFb+Fsxl3R9XWFiX529yhslb4v9cQ==",
"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",