# Development: run Vite dev server with hot reload (source mounted as volume) ARG REGISTRY_MIRROR=docker.1ms.run FROM ${REGISTRY_MIRROR}/node:20-alpine WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci # App code is mounted at runtime; no COPY of source EXPOSE 3000 CMD ["npm", "run", "dev"]