# syntax=docker/dockerfile:1.6 ARG NODE_VERSION=20 FROM node:${NODE_VERSION}-alpine AS base WORKDIR /app COPY package*.json ./ RUN npm install COPY . . FROM base AS dev ENV NODE_ENV=development CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5173"] FROM base AS build ARG VITE_API_BASE_URL=http://localhost:4000 ENV VITE_API_BASE_URL=${VITE_API_BASE_URL} RUN npm run build FROM node:${NODE_VERSION}-alpine AS prod WORKDIR /app ENV NODE_ENV=production COPY package*.json ./ COPY vite.config.js ./ COPY --from=base /app/node_modules ./node_modules COPY --from=build /app/dist ./dist EXPOSE 4173 CMD ["npm", "run", "preview", "--", "--host", "0.0.0.0", "--port", "4173"]