#!/bin/bash # Скрипт обновления Nakama на сервере # Использование: ./update-server.sh echo "🚀 Обновление Nakama..." # 1. Перейти в директорию проекта cd /var/www/nakama || exit 1 # 2. Сделать бэкап (опционально) echo "📦 Создание бэкапа..." sudo tar -czf ~/nakama-backup-$(date +%Y%m%d_%H%M%S).tar.gz . 2>/dev/null # 3. Получить новый код (если используете Git) if [ -d .git ]; then echo "🔄 Обновление кода из Git..." git pull fi # 4. Обновить backend зависимости echo "📦 Обновление backend зависимостей..." npm install --production # 5. Обновить и пересобрать frontend echo "🎨 Пересборка frontend..." cd frontend npm install npm run build cd .. # 6. Обновить MongoDB (отключить фильтры, удалить репосты) echo "🗄️ Обновление базы данных..." mongosh nakama --eval ' // Отключить все фильтры для пользователей db.users.updateMany( {}, { $set: { "settings.whitelist.noNSFW": false, "settings.whitelist.noFurry": false, "settings.whitelist.onlyAnime": false }} ); // Удалить поле reposts из постов db.posts.updateMany({}, { $unset: { reposts: "" } }); // Удалить уведомления о репостах db.notifications.deleteMany({ type: "repost" }); print("✅ База данных обновлена"); ' --quiet # 7. Перезапустить backend echo "🔄 Перезапуск backend..." pm2 restart nakama-backend # 8. Проверить статус echo "" echo "✅ Обновление завершено!" echo "" echo "Проверка статуса:" pm2 status echo "" echo "Последние логи:" pm2 logs nakama-backend --lines 20 --nostream echo "" echo "Проверьте приложение: https://nakama.glpshchn.ru"