.PHONY: help up down restart logs logs-app logs-db ps db dev db-push db-shell clean install-docker # Цвета для вывода справки CYAN := \033[36m GREEN := \033[32m RESET := \033[0m help: @echo "$(CYAN)XFlow Full Stack Management:$(RESET)" @echo " $(GREEN)make up$(RESET) - Собрать и запустить полный стек в Docker (App + DB + Redis)" @echo " $(GREEN)make db$(RESET) - Запустить ТОЛЬКО базы данных (PostgreSQL + Redis) в фоне" @echo " $(GREEN)make dev$(RESET) - Поднять DB в Docker + запустить локальный Nuxt с горячей перезагрузкой" @echo " $(GREEN)make down$(RESET) - Остановить все контейнеры" @echo " $(GREEN)make restart$(RESET) - Перезапустить контейнеры" @echo " $(GREEN)make logs$(RESET) - Логи всех сервисов (следить в реальном времени)" @echo " $(GREEN)make logs-app$(RESET) - Логи веб-приложения Nuxt" @echo " $(GREEN)make logs-db$(RESET) - Логи базы данных PostgreSQL" @echo " $(GREEN)make ps$(RESET) - Список работающих контейнеров и портов" @echo " $(GREEN)make db-push$(RESET) - Применить схему Prisma к локальной БД" @echo " $(GREEN)make db-shell$(RESET) - Войти в консоль psql базы данных" @echo " $(GREEN)make clean$(RESET) - Остановить стек и удалить тома с данными (очистка)" @echo " $(GREEN)make install-docker$(RESET) - Команда для установки Docker и Compose на Ubuntu/Debian" up: docker compose up -d --build db: docker compose up -d db redis @echo "$(GREEN)PostgreSQL (порт 5432) и Redis (порт 6379) готовы к работе!$(RESET)" dev: db @echo "$(CYAN)Применяем схему Prisma...$(RESET)" DATABASE_URL="postgresql://xflow:xflow_pass@localhost:5432/xflow" npm --prefix apps/web run prisma db push || true @echo "$(GREEN)Запускаем Nuxt Dev Server...$(RESET)" DATABASE_URL="postgresql://xflow:xflow_pass@localhost:5432/xflow" npm --prefix apps/web run dev down: docker compose down restart: docker compose restart logs: docker compose logs -f logs-app: docker compose logs -f app logs-db: docker compose logs -f db ps: docker compose ps db-push: DATABASE_URL="postgresql://xflow:xflow_pass@localhost:5432/xflow" npx --prefix apps/web prisma db push db-shell: docker compose exec db psql -U xflow -d xflow clean: docker compose down -v --remove-orphans install-docker: @echo "$(CYAN)Для установки Docker на вашей Linux системе выполните:$(RESET)" @echo "sudo apt-get update && sudo apt-get install -y docker.io docker-compose-v2" @echo "sudo usermod -aG docker $$USER" @echo "$(CYAN)После этого перезайдите в сессию (newgrp docker или перелогиньтесь).$(RESET)"