Some checks failed
build-and-push / build (push) Failing after 1m3s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01824ZrvG2mDYYrmwqypLNup
28 lines
822 B
Docker
28 lines
822 B
Docker
# 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-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-trixie-slim AS backend
|
|
WORKDIR /app
|
|
COPY backend/package.json backend/package-lock.json ./
|
|
RUN npm ci --omit=dev --no-audit --no-fund
|
|
COPY backend/src ./src
|
|
|
|
FROM node:22-trixie-slim
|
|
ENV NODE_ENV=production
|
|
WORKDIR /app
|
|
COPY --from=backend /app ./
|
|
COPY --from=frontend /f/dist ./public
|
|
EXPOSE 3000
|
|
USER node
|
|
CMD ["node", "src/server.js"]
|