Добавлена возможность запуска только БД для локальной разработки

Создано:
- 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>
This commit is contained in:
2025-12-04 11:55:51 +03:00
parent 253f557bd1
commit 6e735a2eab
4 changed files with 114 additions and 18 deletions

View File

@@ -1,14 +1,21 @@
.PHONY: help venv install run clean docker-up docker-down docker-logs
.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 " make docker-up - Запустить через Docker Compose"
@echo " make docker-down - Остановить Docker контейнеры"
@echo " make docker-logs - Показать логи Docker"
@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
@@ -50,3 +57,29 @@ docker-logs:
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