fix(docker): resolve @rollup/rollup-linux-arm64-musl missing on Alpine (#647)

Added ui/web/.npmrc with supportedArchitectures for musl+glibc/arm64+x64.
Updated Dockerfile to use --no-frozen-lockfile so pnpm fetches native rollup
binding compatible with Alpine's musl libc. Lockfile still pinned by copy order.
This commit is contained in:
Plateau Nguyen authored and GitHub committed 2026-04-02 18:34:21 +07:00
1 parent 9be6c24d31
commit b51a57ab17
2 files changed
+10 -2

No files matched your search

+5 -2
View File
@@ -4,8 +4,11 @@
FROM node:22-alpine AS web-builder
RUN corepack enable && corepack prepare pnpm@10.28.2 --activate
WORKDIR /app
COPY ui/web/package.json ui/web/pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
# Copy .npmrc first so pnpm fetches musl native bindings (needed on Alpine)
COPY ui/web/.npmrc ui/web/package.json ui/web/pnpm-lock.yaml ./
# Use --no-frozen-lockfile so pnpm can fetch musl native bindings missing from macOS-generated lockfile.
# Lockfile is still copied above to pin versions; .npmrc sets supportedArchitectures for Alpine (musl).
RUN pnpm install --no-frozen-lockfile
COPY ui/web/ .
RUN pnpm build
+5
View File
@@ -0,0 +1,5 @@
# Ensure pnpm fetches native bindings for both glibc and musl (Alpine Docker builds)
supportedArchitectures.cpu[]=arm64
supportedArchitectures.cpu[]=x64
supportedArchitectures.libc[]=musl
supportedArchitectures.libc[]=glibc