FROM node:20-alpine WORKDIR /app # Install pnpm RUN npm install -g pnpm # Copy package files COPY package.json pnpm-lock.yaml ./ # Install dependencies with cache optimization RUN --mount=type=cache,target=/root/.local/share/pnpm/store \ pnpm install --frozen-lockfile # Copy source code COPY . . # Expose port EXPOSE 3000 # Start development server CMD ["pnpm", "dev"]