Files
2026-07-13 13:30:30 +08:00

40 lines
641 B
Docker

##
## Stage 1: Build the API
##
FROM node:lts-alpine AS api-build
WORKDIR /src
COPY ./api .
RUN npm install
RUN npx tsc --outDir /dist
##
## Stage 2: Build the UI
##
FROM node:lts-alpine AS ui-build
WORKDIR /app
COPY ./ui .
RUN npm install
RUN npx ng build --output-path /dist
##
## Stage 3: Build Runtime
##
FROM node:lts-alpine AS runtime
WORKDIR /app
# Copy build artifacts from the api-build stage
COPY --from=api-build /dist .
COPY --from=api-build /src/node_modules ./node_modules
# Copy build artifacts from the ui-build stage
COPY --from=ui-build /dist ./ui/dist/genwealth-advisor-ui
EXPOSE 8080
CMD ["node", "index.js"]