# Деплой модераторского сайта ## Система авторизации Модераторский сайт поддерживает два способа авторизации: 1. **Telegram WebApp** - автоматическая авторизация через Telegram бота 2. **Email/Пароль** - регистрация через код на email и вход по паролю ## Настройка email сервиса ### AWS SES ```bash EMAIL_PROVIDER=aws AWS_SES_ACCESS_KEY_ID=your_access_key AWS_SES_SECRET_ACCESS_KEY=your_secret_key AWS_SES_REGION=us-east-1 EMAIL_FROM=noreply@nakama.guru ``` ### Yandex Cloud ```bash EMAIL_PROVIDER=yandex YANDEX_SMTP_USER=your_email@yandex.ru YANDEX_SMTP_PASSWORD=your_app_password EMAIL_FROM=noreply@nakama.guru ``` ### SMTP (любой провайдер) ```bash EMAIL_PROVIDER=smtp SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USER=your_email@example.com SMTP_PASSWORD=your_password SMTP_SECURE=false EMAIL_FROM=noreply@nakama.guru ``` ## Процесс регистрации 1. Администратор должен создать пользователя в БД с email и ролью moderator/admin 2. Пользователь вводит email на странице регистрации 3. Система отправляет 6-значный код на email 4. Пользователь вводит код, username и пароль 5. Аккаунт активируется ## Деплой с Docker ### 1. Настройка переменных окружения Добавьте в `.env`: ```bash # Модерация MODERATION_PORT=3001 MODERATION_CORS_ORIGIN=https://moderation.nkm.guru VITE_MODERATION_API_URL=https://moderation.nkm.guru/api # ВАЖНО: обязательно HTTPS! # Email для кодов подтверждения админа OWNER_EMAIL=aaem9848@gmail.com # Email настройки (выберите один вариант выше) EMAIL_PROVIDER=aws # ... остальные настройки email ``` ### 2. Сборка и запуск ```bash # Сборка всех образов docker-compose build moderation-backend moderation-frontend # Запуск сервисов docker-compose up -d moderation-backend moderation-frontend nginx-moderation # Проверка статуса docker-compose ps ``` ### 3. Получение SSL сертификата ```bash # Получить сертификат (первый раз) sudo certbot certonly --standalone -d moderation.nkm.guru # Автоматическое обновление sudo certbot renew --dry-run ``` ### 4. Проверка работы ```bash # Проверка бэкенда curl http://localhost:3001/health # Проверка через nginx curl https://moderation.nkm.guru/api/health # Логи docker-compose logs -f moderation-backend ``` ## Обновление ```bash # Обновить код git pull # Пересобрать и перезапустить docker-compose build moderation-backend moderation-frontend docker-compose up -d moderation-backend moderation-frontend # Перезагрузить nginx docker-compose restart nginx-moderation ``` ## Структура - `moderation-backend` - API сервер модерации (порт 3001) - `moderation-frontend` - Frontend приложение (nginx) - `nginx-moderation` - Reverse proxy с SSL ## Troubleshooting ### Email не отправляется 1. Проверьте настройки EMAIL_PROVIDER в .env 2. Проверьте логи: `docker-compose logs moderation-backend` 3. Убедитесь что credentials правильные ### Не работает авторизация 1. Проверьте JWT_SECRET в .env 2. Проверьте что пользователь создан в БД с правильной ролью 3. Проверьте логи авторизации