# Makefile для LogBoard клиента # Автор: Сергей Антропов # Сайт: https://devops.org.ru .PHONY: help build up down logs clean test setup # Переменные COMPOSE_FILE = docker-compose.yml SERVICE_NAME = logboard-client help: ## Показать справку @echo "LogBoard Client - Управление клиентом" @echo "" @echo "Доступные команды:" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' setup: ## Настройка окружения @echo "Настройка окружения для LogBoard клиента..." @if [ ! -f .env ]; then \ echo "Создание файла .env из примера..."; \ cp env.example .env; \ echo "Файл .env создан. Отредактируйте его перед запуском."; \ else \ echo "Файл .env уже существует."; \ fi @echo "Создание директорий для логов..." @mkdir -p logs build: ## Сборка Docker образа @echo "Сборка Docker образа для LogBoard клиента..." docker-compose -f $(COMPOSE_FILE) build up: ## Запуск клиента @echo "Запуск LogBoard клиента..." docker-compose -f $(COMPOSE_FILE) up -d down: ## Остановка клиента @echo "Остановка LogBoard клиента..." docker-compose -f $(COMPOSE_FILE) down restart: ## Перезапуск клиента @echo "Перезапуск LogBoard клиента..." docker-compose -f $(COMPOSE_FILE) restart logs: ## Просмотр логов клиента @echo "Логи LogBoard клиента:" docker-compose -f $(COMPOSE_FILE) logs -f $(SERVICE_NAME) logs-all: ## Просмотр всех логов @echo "Все логи:" docker-compose -f $(COMPOSE_FILE) logs -f status: ## Статус сервисов @echo "Статус сервисов:" docker-compose -f $(COMPOSE_FILE) ps clean: ## Очистка (удаление контейнеров и образов) @echo "Очистка Docker ресурсов..." docker-compose -f $(COMPOSE_FILE) down --rmi all --volumes --remove-orphans clean-logs: ## Очистка логов @echo "Очистка логов..." @rm -rf logs/* test: ## Запуск тестового контейнера @echo "Запуск тестового контейнера..." docker-compose -f $(COMPOSE_FILE) up -d test-container test-logs: ## Просмотр логов тестового контейнера @echo "Логи тестового контейнера:" docker-compose -f $(COMPOSE_FILE) logs -f test-container stop-test: ## Остановка тестового контейнера @echo "Остановка тестового контейнера..." docker-compose -f $(COMPOSE_FILE) stop test-container health: ## Проверка здоровья клиента @echo "Проверка здоровья LogBoard клиента..." @docker-compose -f $(COMPOSE_FILE) exec $(SERVICE_NAME) python -c "import requests; print('Health check:', requests.get('http://localhost:8080/health').status_code)" 2>/dev/null || echo "Health check недоступен" shell: ## Вход в контейнер клиента @echo "Вход в контейнер LogBoard клиента..." docker-compose -f $(COMPOSE_FILE) exec $(SERVICE_NAME) /bin/bash install: setup build up ## Полная установка (настройка + сборка + запуск) @echo "LogBoard клиент успешно установлен и запущен!" uninstall: down clean ## Полное удаление @echo "LogBoard клиент удален!" dev: ## Запуск в режиме разработки @echo "Запуск в режиме разработки..." docker-compose -f $(COMPOSE_FILE) up dev-build: ## Сборка и запуск в режиме разработки @echo "Сборка и запуск в режиме разработки..." docker-compose -f $(COMPOSE_FILE) up --build