17 lines
501 B
Docker
17 lines
501 B
Docker
# Stage 1 – Build (run on the host platform so npm/esbuild stay native)
|
||
FROM --platform=$BUILDPLATFORM node:24-alpine AS build
|
||
ARG VITE_MODE=production
|
||
ENV VITE_MODE=$VITE_MODE
|
||
WORKDIR /app
|
||
COPY package*.json ./
|
||
RUN npm ci
|
||
COPY . .
|
||
RUN npm run build -- --mode "$VITE_MODE"
|
||
|
||
#Stage 2 – Serve (target platform is whatever we are building for)
|
||
FROM nginx:1.27-alpine
|
||
ARG VITE_MODE=production
|
||
COPY --from=build /app/dist/${VITE_MODE} /usr/share/nginx/html
|
||
EXPOSE 80
|
||
CMD ["nginx", "-g", "daemon off;"]
|