# 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 ARG VITE_SUPABASE_URL ARG VITE_SUPABASE_ANON_KEY ARG VITE_GOOGLE_REDIRECT_URL ENV VITE_API_BASE_URL=${VITE_API_BASE_URL} ENV VITE_SUPABASE_URL=${VITE_SUPABASE_URL} ENV VITE_SUPABASE_ANON_KEY=${VITE_SUPABASE_ANON_KEY} ENV VITE_GOOGLE_REDIRECT_URL=${VITE_GOOGLE_REDIRECT_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"]