.PHONY: help up start dev-node db dev down restart logs logs-app logs-db ps db-push db-shell clean install-docker CYAN := \033[36m GREEN := \033[32m YELLOW:= \033[33m RESET := \033[0m help: @echo "$(CYAN)XFlow Stack Management:$(RESET)" @echo " $(GREEN)make up$(RESET) - Запустить стек (в Docker если установлен, иначе локально через Node)" @echo " $(GREEN)make start$(RESET) - Запустить собранный Nuxt-сервер на Node (порт 3000)" @echo " $(GREEN)make db$(RESET) - Запустить базы (PostgreSQL + Redis) в Docker" @echo " $(GREEN)make dev$(RESET) - Поднять DB в Docker + запустить локальный Nuxt" @echo " $(GREEN)make down$(RESET) - Остановить контейнеры Docker" @echo " $(GREEN)make logs$(RESET) - Логи Docker-контейнеров" @echo " $(GREEN)make install-docker$(RESET) - Инструкция по установке Docker на Ubuntu" up: @if command -v docker >/dev/null 2>&1; then \ echo "$(GREEN)Запуск контейнеров через Docker Compose...$(RESET)"; \ docker compose up -d --build; \ else \ echo "$(YELLOW)Docker не установлен в системе.$(RESET)"; \ echo "$(CYAN)Чтобы установить Docker: sudo apt-get update && sudo apt-get install -y docker.io docker-compose-v2 && sudo usermod -aG docker \$$USER$(RESET)"; \ echo "$(GREEN)Запускаем XFlow через Node.js на порту 3000...$(RESET)"; \ $(MAKE) start; \ fi start: @PORT=3000 node /home/alexives/Desktop/StudioProjects/XFlow/apps/web/.output/server/index.mjs db: docker compose up -d db redis @echo "$(GREEN)PostgreSQL (5432) и Redis (6379) запущены!$(RESET)" dev: db DATABASE_URL="postgresql://xflow:xflow_pass@localhost:5432/xflow" npm --prefix apps/web run prisma db push || true DATABASE_URL="postgresql://xflow:xflow_pass@localhost:5432/xflow" npm --prefix apps/web run dev down: @if command -v docker >/dev/null 2>&1; then docker compose down; fi restart: @if command -v docker >/dev/null 2>&1; then docker compose restart; else $(MAKE) start; fi 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 выполните:$(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)"