nakama/DEPLOY.md

178 lines
4.4 KiB
Markdown
Raw Normal View History

2025-12-01 01:02:46 +00:00
# 🚀 Инструкция по обновлению сервера
## Вариант 1: PM2 (рекомендуется)
### 1. Подключитесь к серверу
```bash
ssh user@your-server
cd /var/www/nakama # или путь к вашему проекту
```
### 2. Обновите код
```bash
# Если используете Git
git pull origin main
# Или загрузите файлы вручную через SFTP/SCP
```
### 3. Установите зависимости (если нужно)
```bash
# Backend зависимости
npm install --production
# Frontend зависимости и сборка
cd frontend
npm install
npm run build
cd ..
```
### 4. Перезапустите backend
```bash
pm2 restart nakama-backend
```
### 5. Проверьте статус
```bash
pm2 status
pm2 logs nakama-backend --lines 50
```
### Или используйте готовый скрипт:
```bash
chmod +x update-server.sh
./update-server.sh
```
---
## Вариант 2: Docker
### 1. Подключитесь к серверу
```bash
ssh user@your-server
cd /path/to/nakama
```
### 2. Обновите код
```bash
# Если используете Git
git pull origin main
# Или загрузите файлы вручную
```
### 3. Пересоберите и перезапустите контейнеры
```bash
# Пересобрать только backend (если изменился только backend)
docker-compose build backend
docker-compose up -d backend
# Или пересобрать всё
docker-compose build
docker-compose up -d
```
### 4. Проверьте статус
```bash
docker-compose ps
docker-compose logs -f backend
```
---
## Быстрое обновление (только backend)
Если изменился только backend код:
### PM2:
```bash
cd /var/www/nakama
git pull
pm2 restart nakama-backend
```
### Docker:
```bash
cd /path/to/nakama
git pull
docker-compose build backend
docker-compose up -d backend
```
---
## Проверка после обновления
1. **Проверьте логи:**
```bash
# PM2
pm2 logs nakama-backend --lines 50
# Docker
docker-compose logs backend --tail 50
```
2. **Проверьте здоровье сервера:**
```bash
curl http://localhost:3000/health
```
3. **Проверьте работу приложения:**
- Откройте приложение в браузере
- Попробуйте авторизоваться
- Проверьте, что ники и аватарки отображаются
---
## Что изменилось в этом обновлении
**Отключено автообновление аватарок** - больше не будет автоматического обновления всех аватарок каждый день
**Улучшено обновление данных при авторизации** - при каждом перезаходе пользователя система проверяет и подтягивает отсутствующие данные (username, firstName, lastName, photoUrl) из Telegram
**Добавлены fallback значения** - если данные отсутствуют, отображаются значения по умолчанию вместо пустых полей
---
## Откат изменений (если что-то пошло не так)
### PM2:
```bash
cd /var/www/nakama
git checkout HEAD~1 # или конкретный коммит
pm2 restart nakama-backend
```
### Docker:
```bash
cd /path/to/nakama
git checkout HEAD~1
docker-compose build backend
docker-compose up -d backend
```
---
## Полезные команды
### PM2:
```bash
pm2 list # Список процессов
pm2 restart nakama-backend # Перезапуск
pm2 stop nakama-backend # Остановка
pm2 logs nakama-backend # Логи
pm2 monit # Мониторинг
```
### Docker:
```bash
docker-compose ps # Статус контейнеров
docker-compose logs -f # Логи всех сервисов
docker-compose restart backend # Перезапуск backend
docker-compose down # Остановка всех контейнеров
docker-compose up -d # Запуск всех контейнеров
```