logboard/Makefile
Сергей Антропов fa42bfa83e fix: решена проблема с правами доступа к Docker socket
- Обновлен docker-compose.yml с настройками пользователя и группы docker
- Обновлен Dockerfile для добавления пользователя в группу docker
- Создан docker-compose.root.yml для запуска с правами root
- Добавлены команды make up-root и make down-root
- Обновлен env.example с дополнительными переменными Docker
- Добавлена документация по решению проблем с правами доступа
- Теперь приложение корректно подключается к Docker daemon
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 11:29:13 +03:00

112 lines
5.2 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Makefile для LogBoard+
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
.PHONY: help setup build up down restart logs clean status ps shell up-root down-root
# Переменные
COMPOSE_FILE = docker-compose.yml
SERVICE_NAME = logboard
# Цвета для вывода
GREEN = \033[0;32m
YELLOW = \033[1;33m
RED = \033[0;31m
NC = \033[0m # No Color
help: ## Показать справку по командам
@echo "$(GREEN)LogBoard+ - Команды управления$(NC)"
@echo ""
@echo "$(YELLOW)Основные команды:$(NC)"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " $(GREEN)%-15s$(NC) %s\n", $$1, $$2}'
@echo ""
@echo "$(YELLOW)Примеры использования:$(NC)"
@echo " make setup # Настроить переменные окружения"
@echo " make build # Собрать образ"
@echo " make up # Запустить сервисы"
@echo " make down # Остановить сервисы"
@echo " make restart # Перезапустить сервисы"
@echo " make logs # Показать логи"
setup: ## Настроить переменные окружения (копировать env.example в .env)
@echo "$(GREEN)Настройка переменных окружения...$(NC)"
@if [ ! -f .env ]; then \
cp env.example .env; \
echo "$(GREEN)Файл .env создан из env.example$(NC)"; \
echo "$(YELLOW)Не забудьте отредактировать .env под свои нужды!$(NC)"; \
else \
echo "$(YELLOW)Файл .env уже существует.$(NC)"; \
echo "$(YELLOW)Для пересоздания удалите .env и запустите make setup$(NC)"; \
fi
build: ## Собрать Docker образ
@echo "$(GREEN)Сборка Docker образа...$(NC)"
docker compose -f $(COMPOSE_FILE) build --no-cache
@echo "$(GREEN)Образ собран успешно!$(NC)"
up: ## Запустить сервисы в фоновом режиме
@echo "$(GREEN)Запуск сервисов...$(NC)"
docker compose -f $(COMPOSE_FILE) up -d
@echo "$(GREEN)Сервисы запущены!$(NC)"
@echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)"
down: ## Остановить и удалить сервисы
@echo "$(YELLOW)Остановка сервисов...$(NC)"
docker compose -f $(COMPOSE_FILE) down
@echo "$(GREEN)Сервисы остановлены!$(NC)"
restart: ## Перезапустить сервисы
@echo "$(YELLOW)Перезапуск сервисов...$(NC)"
docker compose -f $(COMPOSE_FILE) restart
@echo "$(GREEN)Сервисы перезапущены!$(NC)"
logs: ## Показать логи сервисов
@echo "$(GREEN)Логи сервисов:$(NC)"
docker compose -f $(COMPOSE_FILE) logs -f
logs-tail: ## Показать последние 100 строк логов
@echo "$(GREEN)Последние 100 строк логов:$(NC)"
docker compose -f $(COMPOSE_FILE) logs --tail=100
clean: ## Остановить сервисы и удалить образы
@echo "$(RED)Очистка проекта...$(NC)"
docker compose -f $(COMPOSE_FILE) down --rmi all --volumes --remove-orphans
@echo "$(GREEN)Очистка завершена!$(NC)"
status: ## Показать статус сервисов
@echo "$(GREEN)Статус сервисов:$(NC)"
docker compose -f $(COMPOSE_FILE) ps
ps: status ## Алиас для команды status
shell: ## Подключиться к контейнеру сервиса
@echo "$(GREEN)Подключение к контейнеру $(SERVICE_NAME)...$(NC)"
docker compose -f $(COMPOSE_FILE) exec $(SERVICE_NAME) /bin/bash
start: up ## Алиас для команды up
stop: down ## Алиас для команды down
dev: ## Запуск в режиме разработки (с выводом логов)
@echo "$(GREEN)Запуск в режиме разработки...$(NC)"
docker compose -f $(COMPOSE_FILE) up --build
rebuild: ## Пересобрать и запустить сервисы
@echo "$(YELLOW)Пересборка и запуск сервисов...$(NC)"
docker compose -f $(COMPOSE_FILE) down
docker compose -f $(COMPOSE_FILE) build --no-cache
docker compose -f $(COMPOSE_FILE) up -d
@echo "$(GREEN)Сервисы пересобраны и запущены!$(NC)"
@echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)"
up-root: ## Запустить сервисы с правами root (для решения проблем с Docker socket)
@echo "$(GREEN)Запуск сервисов с правами root...$(NC)"
docker compose -f docker-compose.root.yml up -d
@echo "$(GREEN)Сервисы запущены с правами root!$(NC)"
@echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)"
down-root: ## Остановить сервисы с правами root
@echo "$(YELLOW)Остановка сервисов с правами root...$(NC)"
docker compose -f docker-compose.root.yml down
@echo "$(GREEN)Сервисы с правами root остановлены!$(NC)"