From 6ff8e4d7ca893c1b9b95fd070de3c4a18b6102e0 Mon Sep 17 00:00:00 2001 From: claude Date: Sat, 1 Aug 2026 02:01:59 +0200 Subject: [PATCH] =?UTF-8?q?Dockerfile:=20node:22-trixie-slim=20(glibc=202.?= =?UTF-8?q?41)=20=E2=80=94=20better-sqlite3-prebuilds=20funkar,=20source-b?= =?UTF-8?q?uild=20gick=20ej=20att=20tvinga=20(bundlade=20prebuilds,=20inge?= =?UTF-8?q?t=20install-script)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01824ZrvG2mDYYrmwqypLNup --- docker/Dockerfile | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 11dfcd7..4076c01 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,25 +1,23 @@ # Multi-stage: frontend-bygge -> backend-deps -> slim runtime (arm64 på Pi5) +# OBS: trixie (glibc 2.41), inte bookworm — better-sqlite3:s bundlade +# arm64-prebuild kräver GLIBC >= 2.38 och paketet har inget install-script, +# så source-build går inte att tvinga via npm ci. ARG BUILD_CPUS=2 -FROM node:22-slim AS frontend +FROM node:22-trixie-slim AS frontend WORKDIR /f COPY frontend/package.json frontend/package-lock.json ./ RUN npm ci --no-audit --no-fund COPY frontend/ ./ RUN npm run build -FROM node:22-slim AS backend -# python3/make/g++ för att kompilera better-sqlite3 från källkod — -# prebuilt-binären kräver glibc 2.38 men bookworm har 2.36 (lastar annars -# inte i runtime: "GLIBC_2.38 not found") -RUN apt-get update && apt-get install -y --no-install-recommends python3 make g++ \ - && rm -rf /var/lib/apt/lists/* +FROM node:22-trixie-slim AS backend WORKDIR /app COPY backend/package.json backend/package-lock.json ./ -RUN npm_config_build_from_source=true npm ci --omit=dev --no-audit --no-fund +RUN npm ci --omit=dev --no-audit --no-fund COPY backend/src ./src -FROM node:22-slim +FROM node:22-trixie-slim ENV NODE_ENV=production WORKDIR /app COPY --from=backend /app ./