# Kleap Auto-Generated Dockerfile # DO NOT use Nixpacks - it causes Docker buildx cache mount deadlocks # See coolify-deployer.ts for full explanation FROM node:22-alpine WORKDIR /app # Copy package files first (for better Docker layer caching) COPY package*.json ./ # ╔═══════════════════════════════════════════════════════════════════════════╗ # ║ CRITICAL: NO --mount=type=cache HERE! ║ # ║ ║ # ║ Nixpacks generates: RUN --mount=type=cache,id=xxx,target=/root/.npm ... ║ # ║ This causes DEADLOCK on Coolify/Hetzner Docker buildx. ║ # ║ ║ # ║ We use simple RUN without cache mount = reliable builds every time. ║ # ╚═══════════════════════════════════════════════════════════════════════════╝ RUN npm install --legacy-peer-deps # Copy source code COPY . . # Build the Next.js app RUN npm run build # Expose port and start EXPOSE 3000 CMD ["npm", "start"]