Создано: - 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>
86 lines
2.9 KiB
Makefile
86 lines
2.9 KiB
Makefile
.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
|