Files
enigFM/Makefile

127 lines
3.8 KiB
Makefile
Raw Permalink Normal View History

.PHONY: help dev dev-backend dev-frontend install install-backend install-frontend build build-backend build-frontend rebuild rebuild-backend rebuild-frontend rebuild-clean rebuild-clean-backend rebuild-clean-frontend up down logs migrate
2025-12-12 13:30:09 +03:00
help:
@echo "EnigFM - Команды:"
@echo ""
@echo " make install - Установить зависимости (backend + frontend)"
@echo " make dev - Запустить dev режим (backend + frontend)"
@echo " make dev-backend - Запустить только backend"
@echo " make dev-frontend - Запустить только frontend"
@echo ""
@echo " make build - Собрать Docker образы (backend + frontend)"
@echo " make build-backend - Собрать только backend"
@echo " make build-frontend - Собрать только frontend"
@echo " make rebuild - Пересобрать и запустить всё"
@echo " make rebuild-backend - Пересобрать и перезапустить только backend"
@echo " make rebuild-frontend - Пересобрать и перезапустить только frontend"
@echo " make rebuild-clean - Пересобрать всё без кеша"
@echo " make rebuild-clean-backend - Пересобрать backend без кеша"
@echo " make rebuild-clean-frontend - Пересобрать frontend без кеша"
2025-12-12 13:30:09 +03:00
@echo " make up - Запустить через Docker"
@echo " make down - Остановить Docker"
@echo " make logs - Показать логи Docker"
@echo ""
@echo " make migrate - Создать миграцию БД"
@echo " make migrate-up - Применить миграции"
@echo " make migrate-down - Откатить миграцию"
@echo " make migrate-rebuild - Пересобрать контейнеры и применить миграции"
2025-12-12 13:30:09 +03:00
# Установка зависимостей
install: install-backend install-frontend
install-backend:
cd backend && pip install -r requirements.txt
install-frontend:
cd frontend && npm install
# Разработка
dev:
@echo "Запуск backend на :4001 и frontend на :4000"
@make -j2 dev-backend dev-frontend
dev-backend:
cd backend && uvicorn app.main:app --reload --port 4001
dev-frontend:
cd frontend && npm run dev
# Docker
build:
docker-compose build
build-backend:
docker-compose build backend
build-frontend:
docker-compose build frontend
2025-12-12 13:30:09 +03:00
up:
docker-compose up -d
down:
docker-compose down
rebuild:
docker-compose down
docker-compose up -d --build
rebuild-backend:
docker-compose stop backend
docker-compose rm -f backend
docker-compose build backend
docker-compose up -d backend
rebuild-frontend:
docker-compose stop frontend
docker-compose rm -f frontend
docker-compose build frontend
docker-compose up -d frontend
2025-12-12 13:30:09 +03:00
rebuild-clean:
docker-compose down
docker-compose build --no-cache
docker-compose up -d
rebuild-clean-backend:
docker-compose stop backend
docker-compose rm -f backend
docker-compose build --no-cache backend
docker-compose up -d backend
rebuild-clean-frontend:
docker-compose stop frontend
docker-compose rm -f frontend
docker-compose build --no-cache frontend
docker-compose up -d frontend
2025-12-12 13:30:09 +03:00
logs:
docker-compose logs -f
logs-backend:
docker-compose logs -f backend
logs-frontend:
docker-compose logs -f frontend
# Миграции
migrate:
docker-compose exec backend alembic revision --autogenerate -m "$(msg)"
2025-12-12 13:30:09 +03:00
migrate-up:
docker-compose exec backend alembic upgrade head
2025-12-12 13:30:09 +03:00
migrate-down:
docker-compose exec backend alembic downgrade -1
migrate-rebuild:
docker-compose down
docker-compose up -d --build
@echo "Waiting for containers to start..."
@sleep 5
docker-compose exec backend alembic upgrade head
2025-12-12 13:30:09 +03:00
# БД
db-shell:
docker-compose exec db psql -U postgres -d enigfm