diff --git a/Dockerfile b/Dockerfile index c9425a4..7664f7b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,6 +15,11 @@ RUN npm run build # ===================================================== FROM node:20-alpine AS backend-build +# bcrypt — нативный модуль. Готовый бинарник с github внутри сборки не +# скачивается (запрос к release-assets обрывается), поэтому собираем из +# исходников: для этого нужны python3/make/g++. +RUN apk add --no-cache python3 make g++ + WORKDIR /app/backend COPY backend/package.json backend/package-lock.json* ./ RUN npm install @@ -33,7 +38,12 @@ WORKDIR /app # Backend production deps COPY backend/package.json backend/package-lock.json* ./backend/ -RUN cd backend && npm install --omit=dev +# То же самое для боевых зависимостей: компилятор ставим временно и сносим +# сразу после установки, чтобы не тащить его в итоговый образ. +RUN apk add --no-cache --virtual .build-deps python3 make g++ \ + && cd backend && npm install --omit=dev \ + && apk del .build-deps \ + && rm -rf /root/.cache # Built backend COPY --from=backend-build /app/backend/dist ./backend/dist