nakama/moderation/backend-py/QUICKSTART.md

2.8 KiB
Raw Permalink Blame History

Быстрый старт - Python Moderation Backend

1. Установка

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):

# 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

// В mongosh
use nakama;

db.users.updateOne(
  { username: аш_username" },
  { 
    $set: { 
      email: аш_email@yandex.ru",
      emailVerified: true,
      role: "admin"
    }
  }
);

4. Запуск

# Простой запуск
python main.py

# Или с auto-reload
uvicorn main:app --reload --host 0.0.0.0 --port 3001

# Или через скрипт
./start.sh

5. Проверка

# 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 для полных инструкций по развертыванию.