# Руководство по настройке Docker для AutoRia Bot

## Проблема
Docker Desktop не может запуститься из-за отсутствия поддержки WSL2 и виртуализации.

## ⚡ Быстрое решение (Рекомендуется)

### Вариант 1: Запуск без Docker
Самый простой способ - запустить бота напрямую на Windows:

1. **Создайте файл .env из шаблона:**
   ```bash
   copy env.example .env
   ```

2. **Отредактируйте .env** - заполните ваши токены и настройки

3. **Запустите бота:**
   ```bash
   run_without_docker.bat
   ```

Этот способ не требует Docker и WSL2!

---

## 🔧 Настройка Docker (Сложный путь)

### Вариант 2: Полная настройка WSL2 + Docker

#### Шаг 1: Автоматическая настройка
```powershell
# Запустите PowerShell как администратор и выполните:
.\setup_wsl_docker.ps1
```

#### Шаг 2: Ручная настройка (если автоматическая не сработала)

##### 2.1 Включение виртуализации в BIOS
1. Перезагрузите компьютер
2. Войдите в BIOS (обычно F2, F12, Del при загрузке)
3. Найдите настройки виртуализации:
   - **Intel**: "Intel VT-x" или "Virtualization Technology"
   - **AMD**: "AMD-V" или "SVM Mode"
4. Включите виртуализацию
5. Сохраните и перезагрузитесь

##### 2.2 Включение компонентов Windows
Запустите PowerShell как **администратор**:

```powershell
# Включить WSL
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

# Включить платформу виртуальной машины  
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

# Перезагрузка обязательна!
Restart-Computer
```

##### 2.3 Установка WSL2
После перезагрузки:

```powershell
# Скачать и установить обновление ядра WSL2
# https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

# Установить WSL2
wsl --install --no-distribution
wsl --set-default-version 2
```

##### 2.4 Проверка WSL2
```powershell
wsl --status
wsl --version
```

#### Шаг 3: Запуск Docker Desktop
1. Запустите Docker Desktop
2. Дождитесь сообщения "Engine running"
3. Проверьте работу:
   ```bash
   docker --version
   docker ps
   ```

#### Шаг 4: Сборка и запуск контейнера
```bash
# Создайте .env файл
copy env.example .env

# Отредактируйте .env файл

# Соберите образ
docker compose build

# Запустите контейнер
docker compose up -d

# Просмотр логов
docker compose logs -f
```

---

## 🔍 Диагностика проблем

### Проверка поддержки виртуализации
```cmd
systeminfo | findstr /C:"Hyper-V Requirements"
```

### Проверка компонентов Windows
```powershell
Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -like "*WSL*" -or $_.FeatureName -like "*Virtual*"}
```

### Проверка WSL
```powershell
wsl --status
wsl --list --verbose
```

---

## ❗ Частые ошибки

### 1. "WSL2 не поддерживается"
**Решение:** Включите виртуализацию в BIOS и компонент VirtualMachinePlatform

### 2. "HCS_E_HYPERV_NOT_INSTALLED"  
**Решение:** Включите Hyper-V или используйте запуск без Docker

### 3. "The system cannot find the file specified"
**Решение:** Docker Desktop не запущен или WSL2 не настроен

### 4. Виртуализация недоступна в BIOS
**Решение:** Используйте вариант запуска без Docker

---

## 📋 Требования системы для Docker

- Windows 10 версия 1903+ или Windows 11
- Процессор с поддержкой виртуализации (Intel VT-x/AMD-V)
- Включенная виртуализация в BIOS
- Минимум 4GB RAM
- WSL2

---

## 🚀 Рекомендация

**Для разработки и тестирования** используйте **Вариант 1** (без Docker) - это проще и быстрее.

**Для продакшена** настройте **Вариант 2** (с Docker) для лучшей изоляции и развертывания.

---

## 📞 Поддержка

Если ничего не помогает:
1. Проверьте системные требования
2. Попробуйте запуск без Docker  
3. Обратитесь к документации Microsoft по WSL2 