# Документация к Makefile

Этот Makefile содержит набор команд для управления Docker-контейнерами в проекте, включая сборку, запуск, остановку и мониторинг различных сервисов.

## Основные команды

### Управление всеми сервисами

- `all` - Полный цикл обновления API bb: обновление кода, остановка, сборка, запуск и просмотр логов
- `restart_all` - Перезапуск всех контейнеров и запуск мониторинга
- `stop_all` - Остановка всех контейнеров
- `build_all` - Полная пересборка всех контейнеров (без кеша)
- `start_all` - Запуск всех контейнеров в фоновом режиме
- `restart` - Полный перезапуск: остановка, обновление кода, сборка и запуск

### Управление API bb

- `api_bb` - Полный цикл обновления API bb
- `stop_bb` - Остановка контейнера api_bb
- `build_bb` - Пересборка контейнера api_bb
- `run_bb` - Запуск контейнера api_bb в фоновом режиме
- `api_bb_logs` - Просмотр логов контейнера api_bb в реальном времени

### Управление базой данных

- `bb_db` - Подключение к базе данных bb_db в контейнере PostgreSQL

### Управление фронтендом (Vue.js)

- `npm_clean` - Очистка кеша npm
- `bbvue` - Сборка Vue.js приложения
- `vue_bb` - Полный цикл обновления фронтенда: обновление кода, очистка кеша, сборка и мониторинг

### Управление nginx

- `nginx` - Полный цикл обновления nginx
- `stop_nginx` - Остановка контейнера nginx
- `build_nginx` - Пересборка контейнера nginx
- `start_nginx` - Запуск контейнера nginx
- `logs_nginx` - Просмотр логов nginx

### Управление Keycloak

- `keycloak` - Полный цикл обновления Keycloak
- `re_kk` - Быстрый перезапуск Keycloak (без пересборки)
- `stop_kk` - Остановка контейнера keycloak
- `build_kk` - Пересборка контейнера keycloak
- `start_kk` - Запуск контейнера keycloak
- `logs_kk` - Просмотр логов keycloak

### Управление Easysite

- `es` - Полный цикл обновления Easysite
- `easysite_stop` - Остановка контейнера easysite
- `easysite_build` - Пересборка контейнера easysite
- `easysite_start` - Запуск контейнера easysite с проверкой статуса
- `easysite_logs` - Просмотр логов easysite
- `build_es_log` - Сборка easysite с записью логов в файл
- `build_es_log_all` - Детальная сборка easysite с подробным выводом

### Управление Analytics

- `analytics` - Полный цикл обновления analytics
- `stop_analitics` - Остановка контейнера analytics
- `build_analititcs` - Пересборка контейнера analytics
- `start_analytics` - Запуск контейнера analytics с проверкой статуса
- `restart_analytics` - Быстрый перезапуск analytics

### Управление API Easysite

- `api_es` - Полный цикл обновления api_es
- `stop_api_es` - Остановка контейнера api_es
- `build_api_es` - Пересборка контейнера api_es
- `start_api_es` - Запуск контейнера api_es

### Управление Certbot

- `certbot` - Полный цикл обновления certbot
- `stop_cerbot` - Остановка контейнера certbot
- `build_certbot` - Пересборка контейнера certbot
- `start_certbot` - Запуск контейнера certbot

### Управление API TP

- `api_tp` - Полный цикл обновления api_tp
- `stop_api_tp` - Остановка контейнера api_tp
- `build_api_tp` - Пересборка контейнера api_tp
- `start_api_tp` - Запуск контейнера api_tp

### Вспомогательные команды

- `git` - Обновление кода из репозитория
- `wn` - Мониторинг состояния контейнеров (обновление каждые 2 секунды)
- `top` - Запуск htop для мониторинга системы

## Паттерны использования

### Стандартный цикл обновления сервиса:
```bash
make stop_<service> git build_<service> start_<service> wn
```

### Быстрый перезапуск:
```bash
make restart_<service>
```

### Просмотр логов:
```bash
make <service>_logs
```

## Примечания

- Все команды сборки используют `--no-cache` для обеспечения чистой сборки
- Большинство команд включают автоматическое обновление кода (`git pull`)
- Команда `wn` предоставляет удобный мониторинг состояния контейнеров
- Проект использует Docker Compose для оркестрации контейнеров
- В проекте присутствуют различные сервисы: API, базы данных, фронтенд, аутентификация, аналитика