From b55e0d0044223caf1a1e446390a4857baaec850b Mon Sep 17 00:00:00 2001 From: DeepAgent Date: Tue, 28 Oct 2025 09:04:19 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=90=D0=94=D0=98=D0=9A=D0=90=D0=9B?= =?UTF-8?q?=D0=AC=D0=9D=D0=9E:=20=D0=BE=D0=B1=D1=8B=D1=87=D0=BD=D1=8B?= =?UTF-8?q?=D0=B9=20yarn=20install=20=D1=81=20=D0=B0=D0=B3=D1=80=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=B8=D0=B2=D0=BD=D1=8B=D0=BC=D0=B8=20ENV=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=B8=D0=BB=D1=8F=D1=86?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile.simple | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/Dockerfile.simple b/Dockerfile.simple index a53f9d8..f3178bd 100644 --- a/Dockerfile.simple +++ b/Dockerfile.simple @@ -16,35 +16,31 @@ COPY nextjs_space/package.json nextjs_space/yarn.lock ./ # Копируем prisma схему (нужна для генерации клиента) COPY nextjs_space/prisma ./prisma -# Оптимизация: отключаем проблемные бинарники +# Оптимизация: АГРЕССИВНО отключаем ВСЕ компиляции ENV SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=true ENV CYPRESS_INSTALL_BINARY=0 ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true ENV NEXT_TELEMETRY_DISABLED=1 +# Отключаем GYP компиляцию +ENV npm_config_build_from_source=false +ENV PYTHON=/usr/bin/python3 +ENV npm_config_optional=false +# Отключаем компиляцию canvas, sharp и других +ENV SHARP_IGNORE_GLOBAL_LIBVIPS=1 +ENV CANVAS_SKIP_INSTALL=1 -# ШАГ 1: Устанавливаем ВСЕ зависимости БЕЗ postinstall скриптов (быстро!) -RUN yarn install --ignore-scripts --network-timeout 300000 && \ - echo "✅ Зависимости установлены (без компиляции)" - -# ШАГ 2: Устанавливаем ТОЛЬКО Prisma С postinstall (для скачивания движков) -# Это перезапишет установку из шага 1, но уже с движками -RUN yarn add prisma@6.7.0 @prisma/client@6.7.0 --exact --network-timeout 300000 && \ - echo "✅ Prisma установлен с бинарными движками" - -# Копируем остальные файлы +# Копируем остальные файлы (нужны для Prisma) COPY nextjs_space/ ./ -# ШАГ 3: Генерируем Prisma Client +# РАДИКАЛЬНО: Устанавливаем ВСЕ (включая Prisma) с postinstall, +# но с агрессивной оптимизацией +RUN yarn install --network-timeout 300000 --network-concurrency 4 && \ + echo "✅ Зависимости установлены" + +# Генерируем Prisma Client (postinstall должен был запуститься автоматически) RUN npx prisma generate --schema=./prisma/schema.prisma && \ echo "✅ Prisma Client сгенерирован" -# ОТЛАДКА: Посмотрим что создалось -RUN echo "=== Проверка node_modules/.prisma/client ===" && \ - ls -la node_modules/.prisma/ || echo "Папка .prisma не существует" && \ - ls -la node_modules/.prisma/client/ || echo "Папка client не существует" && \ - echo "=== Проверка node_modules/@prisma/client ===" && \ - ls -la node_modules/@prisma/client/ | head -20 - # Переменные окружения для сборки ARG NEXT_PUBLIC_SITE_URL ENV NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL:-http://localhost:3000}