From 6b92f75e4bcb559f5cb8c739910571401d69bc18 Mon Sep 17 00:00:00 2001 From: Mustafa Yildiz Date: Thu, 20 Aug 2026 13:22:14 +0300 Subject: [PATCH] fix: install python3/make/g++ in Docker build for better-sqlite3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit better-sqlite3'ün native modülü Alpine tabanlı imajda derlenemiyordu (node-gyp Python/make/g++ bulamadığı için npm ci başarısız oluyordu) — bu, Faz 4'te better-sqlite3 eklendiğinden beri (7468486) production deploy'unu kırıyordu. Builder aşamasına kalıcı, runner aşamasına geçici (.build-deps, npm ci sonrası kaldırılıyor) build araçları eklendi. --- Dockerfile | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 59ac66f..0b3fa71 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,10 @@ FROM node:22-alpine AS builder WORKDIR /app +# better-sqlite3 native modülünü derleyebilmek için (prebuild indirilemezse +# node-gyp'in Python/make/g++'a ihtiyacı var — Alpine imajında varsayılan yok). +RUN apk add --no-cache python3 make g++ + # Paket dosyalarını kopyala ve bağımlılıkları yükle COPY package*.json ./ RUN npm ci @@ -14,9 +18,13 @@ FROM node:22-alpine AS runner WORKDIR /app -# Sadece production bağımlılıklarını yükle (daha küçük imaj boyutu) +# Sadece production bağımlılıklarını yükle (daha küçük imaj boyutu) — build +# araçları geçici (.build-deps) olarak eklenip npm ci sonrası kaldırılır, +# nihai imaj şişmez ama better-sqlite3 yine de derlenebilir. COPY package*.json ./ -RUN npm ci --omit=dev +RUN apk add --no-cache --virtual .build-deps python3 make g++ \ + && npm ci --omit=dev \ + && apk del .build-deps # Derlenmiş kodları builder aşamasından al COPY --from=builder /app/dist ./dist