31 lines
1.4 KiB
Docker
31 lines
1.4 KiB
Docker
# 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"]
|