# Установка и запуск Python Moderation Backend ## Быстрая установка ```bash cd moderation/backend-py ./start.sh ``` Скрипт автоматически: 1. Создаст виртуальное окружение 2. Установит зависимости 3. Запустит сервер ## Ручная установка ### 1. Python 3.11+ ```bash python3 --version ``` Если версия < 3.11, установите новую версию. ### 2. Виртуальное окружение ```bash cd moderation/backend-py python3 -m venv venv source venv/bin/activate ``` ### 3. Зависимости ```bash pip install -r requirements.txt ``` ### 4. Настройка email В корневом `.env` (`nakama/.env`) добавьте: ```env 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 ``` **Получение пароля приложения Yandex:** 1. https://id.yandex.ru/security 2. "Пароли и вход" → "Пароли приложений" 3. Создать для "Почта" 4. Скопировать в `YANDEX_SMTP_PASSWORD` ### 5. Создайте админа ```javascript // В mongosh use nakama; // Найти вашего пользователя const user = db.users.findOne({ username: "ваш_username" }); // Обновить email и роль db.users.updateOne( { _id: user._id }, { $set: { email: "ваш_email@yandex.ru", emailVerified: true, role: "admin" } } ); // Проверить db.users.findOne({ email: "ваш_email@yandex.ru" }); ``` ### 6. Запуск ```bash python main.py ``` Или: ```bash uvicorn main:app --reload --host 0.0.0.0 --port 3001 ``` ### 7. Проверка ```bash # Health check curl http://localhost:3001/health # Должен вернуть: # {"status":"ok","service":"moderation","version":"2.0.0-python"} ``` ## Тестирование email ```bash # В Python консоли python3 ``` ```python import asyncio from utils.email_service import send_verification_code async def test(): await send_verification_code("ваш_email@yandex.ru", "123456") print("✅ Email отправлен!") asyncio.run(test()) ``` Если ошибка - проверьте настройки SMTP в `.env`. ## Переключение с Node.js 1. Остановите Node.js версию: ```bash pm2 stop moderation-backend ``` 2. Запустите Python версию: ```bash cd moderation/backend-py ./start.sh ``` 3. Фронтенд работает без изменений! ## Production ```bash # С PM2 pm2 start "uvicorn main:app --host 0.0.0.0 --port 3001 --workers 2" \ --name moderation-backend-py \ --cwd /path/to/nakama/moderation/backend-py \ --interpreter python3 # Или с Docker docker-compose -f docker-compose.moderation-py.yml up -d ``` ## Логи Все логи в stdout: - `[Email]` - email операции - `[ModerationAuth]` - аутентификация - `[ModApp]` - модерация - `[WebSocket]` - WebSocket ## Помощь См. `README.md` и `MIGRATION.md` для подробностей.