Update files
This commit is contained in:
parent
4f39cb38fe
commit
200146fe4e
|
|
@ -0,0 +1,100 @@
|
|||
# Инструкция по обновлению домена с nakama.glpshchn.ru на nkm.guru
|
||||
|
||||
## ✅ Что уже обновлено в коде:
|
||||
- `backend/bot.js` - обновлены все упоминания домена
|
||||
- `backend/bots/mainBot.js` - обновлен URL миниаппа
|
||||
- `update-server.sh` - обновлена ссылка для проверки
|
||||
|
||||
## 🔧 Что нужно сделать на сервере:
|
||||
|
||||
### 1. Обновить переменные окружения
|
||||
|
||||
В файле `.env` на сервере обновите:
|
||||
|
||||
```bash
|
||||
# Старый домен (удалить или заменить):
|
||||
# FRONTEND_URL=https://nakama.glpshchn.ru
|
||||
# VITE_API_URL=https://nakama.glpshchn.ru/api
|
||||
|
||||
# Новый домен:
|
||||
FRONTEND_URL=https://nkm.guru
|
||||
VITE_API_URL=https://nkm.guru/api
|
||||
```
|
||||
|
||||
### 2. Обновить nginx конфигурацию
|
||||
|
||||
Проверьте файл `/etc/nginx/sites-available/nakama` (или аналогичный) и убедитесь, что:
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
server_name nkm.guru; # ← Должен быть новый домен
|
||||
|
||||
ssl_certificate /etc/letsencrypt/live/nkm.guru/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/nkm.guru/privkey.pem;
|
||||
# ...
|
||||
}
|
||||
```
|
||||
|
||||
Если сертификат еще не получен для нового домена:
|
||||
|
||||
```bash
|
||||
sudo certbot certonly --standalone -d nkm.guru
|
||||
```
|
||||
|
||||
### 3. Пересобрать frontend
|
||||
|
||||
```bash
|
||||
cd /var/www/nakama/frontend
|
||||
|
||||
# Убедитесь, что переменные окружения установлены
|
||||
export VITE_API_URL=https://nkm.guru/api
|
||||
|
||||
# Пересоберите frontend
|
||||
npm run build
|
||||
|
||||
# Или если используете Docker:
|
||||
cd /var/www/nakama
|
||||
docker-compose build frontend
|
||||
docker-compose up -d frontend
|
||||
```
|
||||
|
||||
### 4. Перезапустить backend
|
||||
|
||||
```bash
|
||||
# Если используете PM2:
|
||||
pm2 restart nakama-backend
|
||||
|
||||
# Или если используете Docker:
|
||||
docker-compose restart backend
|
||||
```
|
||||
|
||||
### 5. Перезагрузить nginx
|
||||
|
||||
```bash
|
||||
sudo nginx -t # Проверить конфигурацию
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
|
||||
### 6. Проверить работу
|
||||
|
||||
```bash
|
||||
# Проверить API:
|
||||
curl https://nkm.guru/api/health
|
||||
|
||||
# Проверить frontend:
|
||||
curl -I https://nkm.guru
|
||||
```
|
||||
|
||||
## ⚠️ Важно:
|
||||
|
||||
1. **SSL сертификат**: Убедитесь, что SSL сертификат получен для нового домена `nkm.guru`
|
||||
2. **DNS**: Убедитесь, что DNS записи указывают на правильный IP сервера
|
||||
3. **Кэш браузера**: После обновления очистите кэш браузера или используйте режим инкогнито
|
||||
|
||||
## 🔍 Проверка:
|
||||
|
||||
После обновления проверьте в консоли браузера, что запросы идут на правильный домен:
|
||||
- Должно быть: `https://nkm.guru/api/posts`
|
||||
- Не должно быть: `https://nakama.glpshchn.ru/api/posts`
|
||||
|
||||
|
|
@ -96,7 +96,7 @@ async function sendPhotoToUser(userId, photoUrl, caption) {
|
|||
|
||||
// Если это все еще относительный URL (локальный файл), используем публичный URL
|
||||
if (finalPhotoUrl.startsWith('/')) {
|
||||
const baseUrl = process.env.FRONTEND_URL || process.env.API_URL || 'https://nakama.glpshchn.ru';
|
||||
const baseUrl = process.env.FRONTEND_URL || process.env.API_URL || 'https://nkm.guru';
|
||||
finalPhotoUrl = `${baseUrl}${finalPhotoUrl}`;
|
||||
}
|
||||
|
||||
|
|
@ -104,7 +104,7 @@ async function sendPhotoToUser(userId, photoUrl, caption) {
|
|||
// Если это оригинальный URL от e621/gelbooru, используем его напрямую
|
||||
const isPublicUrl = finalPhotoUrl.includes('e621.net') ||
|
||||
finalPhotoUrl.includes('gelbooru.com') ||
|
||||
finalPhotoUrl.includes('nakama.glpshchn.ru');
|
||||
finalPhotoUrl.includes('nkm.guru');
|
||||
|
||||
const isVideo = looksLikeVideo(finalPhotoUrl);
|
||||
|
||||
|
|
@ -227,14 +227,14 @@ async function sendPhotosToUser(userId, photos) {
|
|||
|
||||
// Если это относительный URL, преобразуем в полный
|
||||
if (photoUrl.startsWith('/')) {
|
||||
const baseUrl = process.env.FRONTEND_URL || process.env.API_URL || 'https://nakama.glpshchn.ru';
|
||||
const baseUrl = process.env.FRONTEND_URL || process.env.API_URL || 'https://nkm.guru';
|
||||
photoUrl = `${baseUrl}${photoUrl}`;
|
||||
}
|
||||
|
||||
// Проверяем, является ли URL публично доступным
|
||||
const isPublicUrl = photoUrl.includes('e621.net') ||
|
||||
photoUrl.includes('gelbooru.com') ||
|
||||
photoUrl.includes('nakama.glpshchn.ru');
|
||||
photoUrl.includes('nkm.guru');
|
||||
|
||||
const isVideo = looksLikeVideo(photoUrl, photo.contentType);
|
||||
|
||||
|
|
@ -313,7 +313,7 @@ async function sendAudioToUser(userId, audioUrl, metadata = {}) {
|
|||
|
||||
// Если это относительный URL (локальный файл), используем публичный URL
|
||||
if (finalAudioUrl.startsWith('/')) {
|
||||
const baseUrl = process.env.FRONTEND_URL || process.env.API_URL || 'https://nakama.glpshchn.ru';
|
||||
const baseUrl = process.env.FRONTEND_URL || process.env.API_URL || 'https://nkm.guru';
|
||||
finalAudioUrl = `${baseUrl}${finalAudioUrl}`;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ const handleCommand = async (message) => {
|
|||
}
|
||||
|
||||
// Использовать web_app с правильным URL миниаппа
|
||||
const miniappUrl = 'https://nakama.glpshchn.ru/';
|
||||
const miniappUrl = 'https://nkm.guru/';
|
||||
await sendMessage(chatId, startMessage, {
|
||||
reply_markup: {
|
||||
inline_keyboard: [[
|
||||
|
|
|
|||
|
|
@ -67,5 +67,5 @@ echo "Последние логи:"
|
|||
pm2 logs nakama-backend --lines 20 --nostream
|
||||
|
||||
echo ""
|
||||
echo "Проверьте приложение: https://nakama.glpshchn.ru"
|
||||
echo "Проверьте приложение: https://nkm.guru"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue