app-flying-alpaca-zoom/Dockerfile

37 lines
1.6 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
# Install build dependencies for native modules (sharp, etc.)
# bash: Required for build scripts that use bash
# libc6-compat: Required for sharp on Alpine
# python3 make g++: Required for node-gyp builds
RUN apk add --no-cache bash libc6-compat python3 make g++
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"]