FROM node:20-alpine

# Activer pnpm via corepack en épinglant explicitement la version.
# Sans cela, corepack télécharge le dernier pnpm (>=11) qui exige Node 22+
# et casse sur node:20-alpine (No such built-in module: node:sqlite).
ENV COREPACK_DEFAULT_TO_LATEST=0
RUN corepack enable && corepack prepare pnpm@10.29.3 --activate

WORKDIR /app

COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile --prod

COPY . .

EXPOSE 3000

CMD ["node", "server.js"]
