.PHONY: help venv install run clean docker-up docker-down docker-logs docker-db docker-db-stop help: @echo "Доступные команды:" @echo " make venv - Создать виртуальное окружение" @echo " make install - Установить зависимости" @echo " make run - Запустить бота локально" @echo " make clean - Удалить venv и кэш" @echo "" @echo "Docker команды:" @echo " make docker-up - Запустить всё (бот + БД)" @echo " make docker-down - Остановить все контейнеры" @echo " make docker-logs - Показать логи Docker" @echo " make docker-rebuild - Пересобрать контейнеры" @echo "" @echo "База данных:" @echo " make docker-db - Запустить только БД (для локальной разработки)" @echo " make docker-db-stop - Остановить БД" venv: python3 -m venv .venv @echo "Виртуальное окружение создано!" @echo "Активируйте его: source .venv/bin/activate" install: venv .venv/bin/pip install --upgrade pip .venv/bin/pip install -r requirements.txt @echo "Зависимости установлены!" run: @if [ ! -f .env ]; then \ echo "Ошибка: файл .env не найден!"; \ echo "Создайте его: cp .env.example .env"; \ exit 1; \ fi .venv/bin/python main.py clean: rm -rf .venv find . -type d -name "__pycache__" -exec rm -rf {} + find . -type f -name "*.pyc" -delete @echo "Очистка завершена!" docker-up: @if [ ! -f .env ]; then \ echo "Ошибка: файл .env не найден!"; \ echo "Создайте его: cp .env.example .env"; \ exit 1; \ fi docker-compose up -d docker-down: docker-compose down docker-logs: docker-compose logs -f bot docker-rebuild: docker-compose up -d --build docker-db: @echo "🐘 Запуск PostgreSQL для локальной разработки..." @if [ ! -f .env ]; then \ cp .env.example .env; \ echo "⚠️ Создан .env файл из .env.example"; \ fi docker-compose -f docker-compose.dev.yml up -d @echo "✅ База данных запущена на localhost:15433" @echo "" @echo "Параметры подключения:" @echo " Host: localhost" @echo " Port: 15433" @echo " User: botuser" @echo " Password: botpassword" @echo " Database: language_bot" @echo "" @echo "DATABASE_URL для .env:" @echo " DATABASE_URL=postgresql+asyncpg://botuser:botpassword@localhost:15433/language_bot" @echo "" @echo "Подключиться: docker-compose -f docker-compose.dev.yml exec db psql -U botuser -d language_bot" docker-db-stop: @echo "Остановка базы данных..." docker-compose -f docker-compose.dev.yml stop docker-compose -f docker-compose.dev.yml down