FROM node:20-alpine WORKDIR /app # Install deps first (layer cache) COPY package*.json ./ RUN npm ci # Copy source (will be overridden by bind mount in dev) COPY . . EXPOSE 5173 # --host exposes Vite outside the container CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0"]