add algam
This commit is contained in:
171
START_COMMANDS.md
Normal file
171
START_COMMANDS.md
Normal file
@@ -0,0 +1,171 @@
|
||||
# Команды для запуска проекта
|
||||
|
||||
## Локальный запуск
|
||||
|
||||
### 1. Установка зависимостей
|
||||
```bash
|
||||
# Создание виртуального окружения
|
||||
python -m venv venv
|
||||
|
||||
# Активация (Windows)
|
||||
venv\Scripts\activate
|
||||
|
||||
# Активация (Linux/Mac)
|
||||
source venv/bin/activate
|
||||
|
||||
# Установка зависимостей
|
||||
pip install -r requirements.txt
|
||||
# или при использовании uv:
|
||||
uv sync
|
||||
```
|
||||
|
||||
### 2. Настройка переменных окружения
|
||||
```bash
|
||||
# Скопируйте шаблон
|
||||
cp .env.template .env
|
||||
|
||||
# Отредактируйте .env файл, указав:
|
||||
# - Токен телеграм бота
|
||||
# - Параметры подключения к базе данных
|
||||
```
|
||||
|
||||
### 3. Запуск приложения
|
||||
```bash
|
||||
# Только бот
|
||||
python main.py --mode bot
|
||||
|
||||
# Только API
|
||||
python main.py --mode api
|
||||
|
||||
# Бот + API одновременно
|
||||
python main.py --mode both
|
||||
```
|
||||
|
||||
## Docker запуск
|
||||
|
||||
### 1. Простой запуск (только бот)
|
||||
```bash
|
||||
# Сборка и запуск
|
||||
docker-compose up --build -d
|
||||
|
||||
# Просмотр логов
|
||||
docker-compose logs -f bot
|
||||
```
|
||||
|
||||
### 2. Запуск с API
|
||||
```bash
|
||||
# Запуск бота и API
|
||||
docker-compose --profile api up --build -d
|
||||
|
||||
# Просмотр логов
|
||||
docker-compose logs -f bot api
|
||||
```
|
||||
|
||||
### 3. Разработка
|
||||
```bash
|
||||
# Запуск в режиме разработки с hot reload
|
||||
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --build -d
|
||||
|
||||
# Комбинированный режим (бот + API в одном контейнере)
|
||||
docker-compose -f docker-compose.yml -f docker-compose.dev.yml --profile combined up --build -d
|
||||
```
|
||||
|
||||
### 4. Управление контейнерами
|
||||
```bash
|
||||
# Остановка
|
||||
docker-compose down
|
||||
|
||||
# Остановка с удалением данных
|
||||
docker-compose down -v
|
||||
|
||||
# Пересборка без кэша
|
||||
docker-compose build --no-cache
|
||||
|
||||
# Просмотр статуса
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
## Полезные команды
|
||||
|
||||
### База данных
|
||||
```bash
|
||||
# Подключение к PostgreSQL в контейнере
|
||||
docker-compose exec postgres psql -U botuser -d botdb
|
||||
|
||||
# Просмотр таблиц
|
||||
docker-compose exec postgres psql -U botuser -d botdb -c "\dt"
|
||||
|
||||
# Бэкап базы данных
|
||||
docker-compose exec postgres pg_dump -U botuser botdb > backup.sql
|
||||
```
|
||||
|
||||
### Логи и отладка
|
||||
```bash
|
||||
# Логи бота
|
||||
docker-compose logs -f bot
|
||||
|
||||
# Логи API
|
||||
docker-compose logs -f api
|
||||
|
||||
# Логи базы данных
|
||||
docker-compose logs -f postgres
|
||||
|
||||
# Подключение к контейнеру для отладки
|
||||
docker-compose exec bot bash
|
||||
```
|
||||
|
||||
### Тестирование API
|
||||
```bash
|
||||
# Проверка здоровья
|
||||
curl http://localhost:8000/health
|
||||
|
||||
# Swagger документация
|
||||
# Откройте в браузере: http://localhost:8000/docs
|
||||
```
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
Основные переменные в `.env` файле:
|
||||
|
||||
```env
|
||||
# Telegram Bot
|
||||
TELEGRAM_BOT_TOKEN=your_bot_token_here
|
||||
|
||||
# Database
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
DB_NAME=botdb
|
||||
DB_USER=botuser
|
||||
DB_PASSWORD=your_secure_password
|
||||
|
||||
# Application
|
||||
APP_ENV=development
|
||||
LOG_LEVEL=INFO
|
||||
DEBUG=True
|
||||
|
||||
# API (if needed)
|
||||
API_HOST=0.0.0.0
|
||||
API_PORT=8000
|
||||
API_RELOAD=True
|
||||
```
|
||||
|
||||
## Структура проекта после рефакторинга
|
||||
|
||||
```
|
||||
bot-telegram/
|
||||
├── .env # Переменные окружения (не в git)
|
||||
├── .env.template # Шаблон переменных
|
||||
├── .gitignore # Исключения для git
|
||||
├── main.py # Основная точка входа
|
||||
├── bot.py # Современный Telegram бот
|
||||
├── bot_config.py # Конфигурация бота
|
||||
├── bot_old.py # Резервная копия старого бота
|
||||
├── pyproject.toml # Зависимости Python
|
||||
├── docker-compose.yml # Docker конфигурация
|
||||
├── docker-compose.dev.yml # Docker для разработки
|
||||
├── Dockerfile # Docker образ
|
||||
├── START_COMMANDS.md # Этот файл
|
||||
├── api/ # FastAPI приложение
|
||||
├── database/ # Модели и репозитории
|
||||
└── images/ # Изображения для тестов
|
||||
```
|
||||
Reference in New Issue
Block a user