nakama/moderation/DEPLOY.md

141 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Деплой модераторского сайта
## Система авторизации
Модераторский сайт поддерживает два способа авторизации:
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. Проверьте логи авторизации