FROM node:22-alpine AS builder

WORKDIR /app

LABEL org.opencontainers.image.source="TBC"
LABEL org.opencontainers.image.description="FYP Image"

COPY package*.json ./

RUN npm ci

COPY . .

RUN npm run build:api

FROM node:22-alpine

WORKDIR /app

COPY package*.json ./

RUN npm ci --omit=dev

COPY --from=builder /app/dist/apps/api ./

CMD ["node", "main.js"]

EXPOSE 3000