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:web

FROM node:22-alpine

WORKDIR /app

RUN npm install -g serve

COPY --from=builder /app/dist /app/dist

CMD ["serve", "-s", "dist", "-l", "3000"]

EXPOSE 3000