105 lines
3.5 KiB
Makefile
105 lines
3.5 KiB
Makefile
.PHONY: help venv install run clean \
|
||
docker-up docker-down docker-logs docker-rebuild docker-restart \
|
||
docker-bot-restart docker-bot-rebuild docker-bot-build \
|
||
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 " make docker-restart - Перезапустить все контейнеры"
|
||
@echo " make docker-bot-restart - Перезапустить только бот"
|
||
@echo " make docker-bot-build - Собрать образ бота"
|
||
@echo " make docker-bot-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-restart:
|
||
docker-compose restart
|
||
|
||
docker-bot-restart:
|
||
docker-compose restart bot
|
||
|
||
docker-bot-build:
|
||
docker-compose build bot
|
||
|
||
docker-bot-rebuild:
|
||
docker-compose up -d --build bot
|
||
|
||
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
|