# Build stage FROM node:20-alpine AS build WORKDIR /app # Install dependencies COPY package*.json ./ RUN npm install # Copy source code COPY . . # Declare build arguments (these come from deployment platform) ARG VITE_API_URL ARG VITE_APP_TITLE ARG VITE_USER_ID ARG VITE_USER_PRIVILEGIO ARG VITE_FTP_HOST ARG VITE_FTP_USER ARG VITE_FTP_PASS ARG VITE_FTP_PATH ARG VITE_REPRINT_URL_PERU ARG VITE_REPRINT_URL_COLOMBIA # Convert ARG to ENV so Vite can access them during build ENV VITE_API_URL=$VITE_API_URL ENV VITE_APP_TITLE=$VITE_APP_TITLE ENV VITE_USER_ID=$VITE_USER_ID ENV VITE_USER_PRIVILEGIO=$VITE_USER_PRIVILEGIO ENV VITE_FTP_HOST=$VITE_FTP_HOST ENV VITE_FTP_USER=$VITE_FTP_USER ENV VITE_FTP_PASS=$VITE_FTP_PASS ENV VITE_FTP_PATH=$VITE_FTP_PATH ENV VITE_REPRINT_URL_PERU=$VITE_REPRINT_URL_PERU ENV VITE_REPRINT_URL_COLOMBIA=$VITE_REPRINT_URL_COLOMBIA # Build with environment variables from deployment platform RUN npm run build # Production stage FROM nginx:stable-alpine # Copy build artifacts from build stage COPY --from=build /app/dist /usr/share/nginx/html # Copy custom nginx configuration COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]