FROM node:22-trixie-slim AS build

RUN apt-get update \
 && apt-get upgrade -y \
 && apt-get install -y --no-install-recommends libxcb1 \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY faceai/package.json ./package.json
COPY faceai/apps/frontend/package.json apps/frontend/package.json
COPY faceai/apps/backend/package.json apps/backend/package.json
COPY faceai/apps/processor/package.json apps/processor/package.json

RUN npm install

COPY faceai/ .

RUN npm run build

FROM node:22-trixie-slim AS runtime

RUN apt-get update \
 && apt-get upgrade -y \
 && apt-get install -y --no-install-recommends libxcb1 \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY --from=build /app /app

ENV NODE_ENV=production
EXPOSE 3001

CMD ["npm", "run", "start"]