Files
tg_bot_language/Makefile

105 lines
3.5 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.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