chore(make): add smart fallback to make up for environments without docker
This commit is contained in:
@@ -1,44 +1,47 @@
|
|||||||
.PHONY: help up down restart logs logs-app logs-db ps db dev db-push db-shell clean install-docker
|
.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
|
CYAN := \033[36m
|
||||||
GREEN := \033[32m
|
GREEN := \033[32m
|
||||||
|
YELLOW:= \033[33m
|
||||||
RESET := \033[0m
|
RESET := \033[0m
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo "$(CYAN)XFlow Full Stack Management:$(RESET)"
|
@echo "$(CYAN)XFlow Stack Management:$(RESET)"
|
||||||
@echo " $(GREEN)make up$(RESET) - Собрать и запустить полный стек в Docker (App + DB + Redis)"
|
@echo " $(GREEN)make up$(RESET) - Запустить стек (в Docker если установлен, иначе локально через Node)"
|
||||||
@echo " $(GREEN)make db$(RESET) - Запустить ТОЛЬКО базы данных (PostgreSQL + Redis) в фоне"
|
@echo " $(GREEN)make start$(RESET) - Запустить собранный Nuxt-сервер на Node (порт 3000)"
|
||||||
@echo " $(GREEN)make dev$(RESET) - Поднять DB в Docker + запустить локальный Nuxt с горячей перезагрузкой"
|
@echo " $(GREEN)make db$(RESET) - Запустить базы (PostgreSQL + Redis) в Docker"
|
||||||
@echo " $(GREEN)make down$(RESET) - Остановить все контейнеры"
|
@echo " $(GREEN)make dev$(RESET) - Поднять DB в Docker + запустить локальный Nuxt"
|
||||||
@echo " $(GREEN)make restart$(RESET) - Перезапустить контейнеры"
|
@echo " $(GREEN)make down$(RESET) - Остановить контейнеры Docker"
|
||||||
@echo " $(GREEN)make logs$(RESET) - Логи всех сервисов (следить в реальном времени)"
|
@echo " $(GREEN)make logs$(RESET) - Логи Docker-контейнеров"
|
||||||
@echo " $(GREEN)make logs-app$(RESET) - Логи веб-приложения Nuxt"
|
@echo " $(GREEN)make install-docker$(RESET) - Инструкция по установке Docker на Ubuntu"
|
||||||
@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:
|
up:
|
||||||
docker compose up -d --build
|
@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:
|
db:
|
||||||
docker compose up -d db redis
|
docker compose up -d db redis
|
||||||
@echo "$(GREEN)PostgreSQL (порт 5432) и Redis (порт 6379) готовы к работе!$(RESET)"
|
@echo "$(GREEN)PostgreSQL (5432) и Redis (6379) запущены!$(RESET)"
|
||||||
|
|
||||||
dev: db
|
dev: db
|
||||||
@echo "$(CYAN)Применяем схему Prisma...$(RESET)"
|
|
||||||
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 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
|
DATABASE_URL="postgresql://xflow:xflow_pass@localhost:5432/xflow" npm --prefix apps/web run dev
|
||||||
|
|
||||||
down:
|
down:
|
||||||
docker compose down
|
@if command -v docker >/dev/null 2>&1; then docker compose down; fi
|
||||||
|
|
||||||
restart:
|
restart:
|
||||||
docker compose restart
|
@if command -v docker >/dev/null 2>&1; then docker compose restart; else $(MAKE) start; fi
|
||||||
|
|
||||||
logs:
|
logs:
|
||||||
docker compose logs -f
|
docker compose logs -f
|
||||||
@@ -62,7 +65,7 @@ clean:
|
|||||||
docker compose down -v --remove-orphans
|
docker compose down -v --remove-orphans
|
||||||
|
|
||||||
install-docker:
|
install-docker:
|
||||||
@echo "$(CYAN)Для установки Docker на вашей Linux системе выполните:$(RESET)"
|
@echo "$(CYAN)Для установки Docker выполните:$(RESET)"
|
||||||
@echo "sudo apt-get update && sudo apt-get install -y docker.io docker-compose-v2"
|
@echo "sudo apt-get update && sudo apt-get install -y docker.io docker-compose-v2"
|
||||||
@echo "sudo usermod -aG docker $$USER"
|
@echo "sudo usermod -aG docker \$$USER"
|
||||||
@echo "$(CYAN)После этого перезайдите в сессию (newgrp docker или перелогиньтесь).$(RESET)"
|
@echo "$(CYAN)Затем обновите сессию: newgrp docker$(RESET)"
|
||||||
|
|||||||
Reference in New Issue
Block a user