2.8 KiB
2.8 KiB
Быстрый старт - 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 используйте пароль приложения!
- Перейдите: https://id.yandex.ru/security
- Создайте пароль приложения для "Почта"
- Используйте его в
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 для полных инструкций по развертыванию.