# Base image: Node + pnpm + frozen lockfile install (rebuild when deps change).
FROM node:20-alpine

WORKDIR /app

# Next.js on Alpine often needs this for native deps; pnpm global install.
RUN apk add --no-cache libc6-compat \
    && npm install -g pnpm@9.15.4 \
    && rm -rf /root/.npm

COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./

RUN pnpm install --frozen-lockfile
