FROM node:20.11.1 AS builder ENV VITE_BASE_URL="http://192.168.1.204:9610" ENV VITE_AUTO_URL="http://192.168.1.204:9614" ENV VITE_MONEY_URL="http://192.168.1.204:9613" ENV VITE_AUTHORIZE_URL="http://192.168.1.204:9616" ENV VITE_VOIPMS_URL="http://192.168.1.204:9617" ENV VITE_COMPANY_ID='1' WORKDIR /app COPY package.json ./ # --- THE FIX IS HERE --- # 1. Install ALL dependencies (including devDependencies like vue-tsc) RUN npm install # 2. Copy the rest of your source code COPY . . # 3. Now run the build, which will succeed because vue-tsc is installed RUN npm run build # --- STAGE 2: Serve the built files with Nginx --- FROM nginx:stable-alpine # Copy the static files from the 'builder' stage COPY --from=builder /app/dist /usr/share/nginx/html # Copy your custom Nginx configuration COPY nginx/default.conf /etc/nginx/conf.d/default.conf # Tell the world that port 80 is now listening EXPOSE 80 # Start Nginx when the container launches CMD ["nginx", "-g", "daemon off;"]