# 📦 Установка Docker и Docker Compose

## ⚠️ Docker не установлен

На этом сервере не установлен Docker. Для запуска приложения необходимо установить Docker и Docker Compose.

---

## 🚀 Быстрая установка (Ubuntu/Debian)

### Вариант 1: Официальный скрипт (рекомендуется)

```bash
# Скачайте и запустите официальный скрипт установки Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Добавьте текущего пользователя в группу docker
sudo usermod -aG docker $USER

# ВАЖНО: Выйдите и войдите снова для применения изменений группы
# Или выполните:
newgrp docker

# Проверьте установку
docker --version
docker compose version
```

### Вариант 2: Установка через apt (Ubuntu 20.04+)

```bash
# Обновите список пакетов
sudo apt-get update

# Установите необходимые пакеты
sudo apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# Добавьте официальный GPG ключ Docker
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Добавьте репозиторий Docker
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Установите Docker Engine
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Добавьте пользователя в группу docker
sudo usermod -aG docker $USER

# ВАЖНО: Выйдите и войдите снова
newgrp docker

# Проверьте установку
docker --version
docker compose version
```

---

## ✅ Проверка установки

После установки и перелогина:

```bash
# Проверьте версию Docker
docker --version
# Ожидается: Docker version 24.x.x или выше

# Проверьте версию Docker Compose
docker compose version
# Ожидается: Docker Compose version v2.x.x или выше

# Тестовый запуск
docker run hello-world
# Должно показать сообщение "Hello from Docker!"
```

---

## 🚀 После установки Docker

Запустите развертывание приложения:

```bash
cd /home/ubuntu/global_it24_landing
./deploy-simple.sh
```

---

## 🔧 Устранение неполадок

### Ошибка: "permission denied while trying to connect to the Docker daemon"

```bash
# Убедитесь что вы в группе docker
groups | grep docker

# Если docker нет в списке, добавьте снова:
sudo usermod -aG docker $USER

# И перелогиньтесь:
exit
# (войдите снова по SSH)
```

### Ошибка: "docker: command not found"

```bash
# Проверьте установлен ли Docker
which docker

# Если не установлен, повторите установку
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```

### Docker Compose v1 vs v2

Современная версия Docker включает Docker Compose v2 как плагин (`docker compose`).

Если у вас старая версия (`docker-compose` с дефисом):

```bash
# Удалите старую версию
sudo apt-get remove docker-compose

# Установите Docker Compose v2 (плагин)
sudo apt-get install docker-compose-plugin

# Проверьте
docker compose version
```

---

## 📚 Дополнительные ресурсы

- [Официальная документация Docker](https://docs.docker.com/engine/install/)
- [Docker Compose документация](https://docs.docker.com/compose/)
- [Post-installation steps](https://docs.docker.com/engine/install/linux-postinstall/)

---

## 🎯 Следующие шаги

1. ✅ Установите Docker (см. выше)
2. ✅ Добавьте пользователя в группу docker
3. ✅ Перелогиньтесь
4. ✅ Запустите `./deploy-simple.sh`
5. ✅ Настройте Traefik на другом сервере (см. `TRAEFIK_QUICKSTART.md`)

---

**Репозиторий:** `git.mscsrv.ru/sa/global_it24_landing.git`
