# Build stage: compile native deps (better-sqlite3) with toolchain present. FROM node:22-bookworm-slim AS build WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends python3 make g++ \ && rm -rf /var/lib/apt/lists/* COPY app/package.json app/package-lock.json ./ RUN npm ci --omit=dev COPY app/ ./ # Runtime stage: slim image with prebuilt node_modules copied in. FROM node:22-bookworm-slim WORKDIR /app ENV NODE_ENV=production COPY --from=build /app ./ EXPOSE 3000 CMD ["node", "src/server.js"]