.PHONY: build up down logs restart deploy ps dev test install VENV := $(CURDIR)/.venv/bin/python install: ## Создать локальный venv и поставить зависимости (разработка) python3 -m venv .venv $(VENV) -m pip install --upgrade pip $(VENV) -m pip install -r requirements-dev.txt build: ## Собрать образы микросервисов (Docker) docker compose build up: ## Запустить все микросервисы одной командой (Docker) docker compose up -d down: ## Остановить и удалить контейнеры (Docker) docker compose down restart: ## Перезапустить микросервисы (Docker) docker compose restart logs: ## Логи всех микросервисов (Docker) docker compose logs -f ps: ## Статус микросервисов (Docker) docker compose ps deploy: ## Собрать и запустить (деплой на сервере) ./deploy.sh test: ## Прогнать smoke-тест микросервисной связки (локальный venv) $(VENV) tests/smoke_test.py dev: ## Запустить локально без Docker: lms-api :8000 + lms-web :8080 @echo "Запуск lms-api на :8000 и lms-web на :8080..." @export LMS_API_URL=http://127.0.0.1:8000; \ trap 'kill 0' EXIT; \ cd src/backend && $(CURDIR)/.venv/bin/python -m uvicorn lms_api.main:app --reload --port 8000 & \ cd src/frontend && $(CURDIR)/.venv/bin/python -m uvicorn lms_web.main:app --reload --port 8080 & \ wait