# 🚨 СРОЧНОЕ ИСПРАВЛЕНИЕ: Сборка зависает на 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 для ускорения сборки"
