nakama/moderation/backend-py/QUICKSTART.md

119 lines
2.8 KiB
Markdown
Raw Normal View History

2025-12-14 23:45:41 +00:00
# Быстрый старт - Python Moderation Backend
## 1. Установка
```bash
cd moderation/backend-py
# Создать виртуальное окружение
python3 -m venv venv
# Активировать
source venv/bin/activate # Linux/Mac
# или
venv\Scripts\activate # Windows
# Установить зависимости
pip install -r requirements.txt
```
## 2. Настройка .env
Отредактируйте корневой `.env` файл (`nakama/.env`):
```env
# Email (ОБЯЗАТЕЛЬНО!)
EMAIL_PROVIDER=yandex
YANDEX_SMTP_HOST=smtp.yandex.ru
YANDEX_SMTP_PORT=465
YANDEX_SMTP_SECURE=true
YANDEX_SMTP_USER=ваш_email@yandex.ru
YANDEX_SMTP_PASSWORD=ваш_пароль_приложения
EMAIL_FROM=noreply@nakama.guru
OWNER_EMAIL=admin@example.com
# Модерация
MODERATION_PORT=3001
MODERATION_BOT_TOKEN=ваш_токен
# MongoDB
MONGODB_URI=mongodb://103.80.87.247:27017/nakama
```
**Важно:** Для Yandex используйте пароль приложения!
1. Перейдите: https://id.yandex.ru/security
2. Создайте пароль приложения для "Почта"
3. Используйте его в `YANDEX_SMTP_PASSWORD`
## 3. Создайте админа в MongoDB
```javascript
// В mongosh
use nakama;
db.users.updateOne(
{ username: "ваш_username" },
{
$set: {
email: "ваш_email@yandex.ru",
emailVerified: true,
role: "admin"
}
}
);
```
## 4. Запуск
```bash
# Простой запуск
python main.py
# Или с auto-reload
uvicorn main:app --reload --host 0.0.0.0 --port 3001
# Или через скрипт
./start.sh
```
## 5. Проверка
```bash
# Health check
curl http://localhost:3001/health
# Config
curl http://localhost:3001/api/moderation-auth/config
```
## 6. Отправка кода
Откройте фронтенд модерации и введите email. Код должен прийти на почту.
## Troubleshooting
### Email не отправляется
Проверьте логи при запуске:
```
[Email] Настройка SMTP: {provider: 'yandex', host: 'smtp.yandex.ru', ...}
```
Если видите `user: 'не указан'` или `hasPassword: False` - проверьте `.env`.
### 403 Forbidden при send-code
Убедитесь, что в базе есть пользователь с:
- email = тот, что вводите
- role = 'admin' или 'moderator'
### Telegram виджет не работает
После успешной авторизации должно быть автоматическое перенаправление.
Проверьте логи: `[ModerationAuth] Успешная авторизация через виджет`
## Production
См. `MIGRATION.md` для полных инструкций по развертыванию.