Files
tg_bot_language/Makefile
mamonov.ep 6e735a2eab Добавлена возможность запуска только БД для локальной разработки
Создано:
- docker-compose.dev.yml - конфигурация только для PostgreSQL
- make docker-db - команда для запуска только БД на порту 15433
- make docker-db-stop - остановка БД

Изменено:
- Makefile - добавлены команды для работы с БД
- README.md - инструкции по запуску БД
- .env.example - обновлен порт БД на 15433

Использование:
make docker-db - запустить PostgreSQL на localhost:15433
make run - запустить бота локально с подключением к БД

Порт 15433 выбран чтобы избежать конфликтов с другими PostgreSQL.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:55:51 +03:00

86 lines
2.9 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-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