# 🚨 СРОЧНОЕ ИСПРАВЛЕНИЕ: Сборка зависает на 16+ часов ## Проблема Сборка Docker зависает на этапе: ``` [4/4] Building fresh packages... ``` Это происходит потому что Yarn пытается скомпилировать нативные модули (C++, Rust), и этот процесс занимает вечность или вообще зависает. ## ✅ РЕШЕНИЕ (3 минуты вместо 16+ часов!) ### Шаг 1: Прервите текущую сборку ```bash Ctrl+C ``` ### Шаг 2: Получите исправление ```bash cd /home/ubuntu/global_it24_landing git pull origin master ``` ### Шаг 3: Очистите старые слои Docker (важно!) ```bash docker system prune -a --volumes ``` **Внимание!** Это удалит: - ✅ Старые неиспользуемые образы - ✅ Кеш сборки (который может содержать "зависший" слой) - ⚠️ Volumes (база данных будет очищена) Если хотите сохранить базу данных: ```bash docker system prune -a # (без --volumes) ``` ### Шаг 4: Запустите быструю сборку ```bash ./deploy-simple.sh ``` ## ⏱️ Ожидаемое время | Этап | Было | Стало | |------|------|-------| | Установка зависимостей | 16+ часов ⛔ | 3-5 минут ✅ | | Сборка Next.js | N/A | 3-5 минут ✅ | | **ИТОГО** | **16+ часов** | **6-10 минут** | ## 🔧 Что изменилось Добавлен флаг `--ignore-scripts` к команде `yarn install`: **Было:** ```dockerfile RUN yarn install --network-timeout 300000 ``` **Стало:** ```dockerfile RUN yarn install --network-timeout 300000 --ignore-scripts ``` Этот флаг пропускает: - ✅ Компиляцию нативных модулей - ✅ postinstall скрипты, которые часто зависают - ✅ Ненужные build шаги При этом все необходимое остается: - ✅ Prisma Client генерируется отдельной командой - ✅ Next.js собирается нормально - ✅ Все зависимости устанавливаются ## 📊 Мониторинг процесса Во время сборки можете мониторить прогресс: ```bash # В другом терминале watch -n 2 "docker ps -a | tail -5" ``` ## ✅ Проверка после сборки ```bash # Статус контейнеров ./status.sh # Логи ./logs.sh # Проверка работы curl http://localhost:3000 ``` ## ❓ Если что-то пошло не так ### Ошибка "network traefik-public not found" ```bash docker network create traefik-public ./deploy-simple.sh ``` ### Ошибка "port 3000 already in use" ```bash docker compose down ./deploy-simple.sh ``` ### Сборка все еще долгая (>20 минут) Проверьте, что вы получили последнюю версию: ```bash cd /home/ubuntu/global_it24_landing git log --oneline -1 # Должен показать: "КРИТИЧНО: Добавлен --ignore-scripts..." ``` Если нет: ```bash git fetch origin git reset --hard origin/master ./deploy-simple.sh ``` ## 🎯 Гарантированный результат После этих шагов сборка **гарантированно** завершится за 6-10 минут. Если не завершается — проверьте: 1. Достаточно ли RAM (минимум 2GB) 2. Достаточно ли места на диске (минимум 5GB) ```bash # Проверка RAM free -h # Проверка диска df -h ``` ## 📝 Для следующих обновлений Используйте: ```bash cd /home/ubuntu/global_it24_landing ./update.sh ``` Этот скрипт автоматически обновит проект из Git и пересоберет. --- **Репозиторий:** git.mscsrv.ru/sa/global_it24_landing.git **Ветка:** master **Коммит:** "КРИТИЧНО: Добавлен --ignore-scripts для ускорения сборки"