nakama/update-server.sh

72 lines
2.0 KiB
Bash
Raw Normal View History

2025-11-03 20:35:01 +00:00
#!/bin/bash
# Скрипт обновления NakamaSpace на сервере
# Использование: ./update-server.sh
echo "🚀 Обновление NakamaSpace..."
# 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 ..
2025-11-03 20:54:59 +00:00
# 6. Обновить MongoDB (отключить фильтры, удалить репосты)
echo "🗄️ Обновление базы данных..."
2025-11-03 20:35:01 +00:00
mongosh nakama --eval '
2025-11-03 20:54:59 +00:00
// Отключить все фильтры для пользователей
2025-11-03 20:35:01 +00:00
db.users.updateMany(
{},
{ $set: {
"settings.whitelist.noNSFW": false,
"settings.whitelist.noFurry": false,
"settings.whitelist.onlyAnime": false
}}
2025-11-03 20:54:59 +00:00
);
// Удалить поле reposts из постов
db.posts.updateMany({}, { $unset: { reposts: "" } });
// Удалить уведомления о репостах
db.notifications.deleteMany({ type: "repost" });
print("✅ База данных обновлена");
2025-11-03 20:35:01 +00:00
' --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"