2025-11-10 15:52:18 +00:00
|
|
|
FROM node:18-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:18-alpine
|
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
2025-11-10 16:03:06 +00:00
|
|
|
COPY package*.json ./
|
|
|
|
|
|
|
|
|
|
RUN npm ci --omit=dev
|
2025-11-10 15:52:18 +00:00
|
|
|
|
2025-11-10 16:03:06 +00:00
|
|
|
COPY --from=builder /app/dist/apps/api ./
|
2025-11-10 15:52:18 +00:00
|
|
|
|
2025-11-10 16:03:06 +00:00
|
|
|
CMD ["node", "main.js"]
|
2025-11-10 15:52:18 +00:00
|
|
|
|
|
|
|
|
EXPOSE 3000
|