mass refactor

This commit is contained in:
2025-09-18 08:31:14 +09:00
parent 856bf3ca2a
commit bdd7d0424f
58 changed files with 3009 additions and 291 deletions

84
bin/README.md Normal file
View File

@@ -0,0 +1,84 @@
# Автоматическое обновление Telegram Tinder Bot
Этот документ описывает процесс автоматического обновления бота с помощью созданных скриптов.
## Скрипт обновления
Скрипт обновления выполняет следующие действия:
1. Получает последние изменения из Git-репозитория
2. Устанавливает зависимости
3. Применяет миграции базы данных
4. Собирает проект
5. Проверяет наличие файла .env
6. Проверяет наличие Docker-сервисов
7. При запуске на Ubuntu: проверяет и перезапускает PM2 сервис
## Подробные инструкции по развертыванию
Для подробных инструкций по развертыванию бота на сервере Ubuntu 24.04, пожалуйста, обратитесь к файлу `DEPLOY_UBUNTU.md` в корне проекта.
## Как использовать
### На Linux/macOS:
```bash
# Обновление с ветки main (по умолчанию)
npm run update
# Обновление с определенной ветки
bash ./bin/update.sh develop
# Обновление с определенной ветки и перезапуском сервиса PM2 (для Ubuntu)
bash ./bin/update.sh develop --restart-service
```
### На Windows:
```powershell
# Обновление с ветки main (по умолчанию)
npm run update:win
# Обновление с определенной ветки
.\bin\update.bat develop
```
## Добавление прав на выполнение (только для Linux/macOS)
Если у вас возникают проблемы с запуском скрипта, добавьте права на выполнение:
```bash
chmod +x ./bin/update.sh
```
## Автоматизация обновлений
Для автоматизации регулярных обновлений вы можете использовать cron (Linux/macOS) или Планировщик заданий (Windows).
### Пример cron-задания для Ubuntu (ежедневное обновление в 4:00 с перезапуском сервиса):
```
0 4 * * * cd /opt/tg_tinder_bot && ./bin/update.sh --restart-service >> /var/log/tg_bot_update.log 2>&1
```
### Пример cron-задания (ежедневное обновление в 4:00 без перезапуска):
```
0 4 * * * cd /path/to/bot && ./bin/update.sh
```
### Для Windows:
Создайте задачу в Планировщике заданий, которая запускает:
```
cmd.exe /c "cd /d D:\Projects\tg_tinder_bot && .\bin\update.bat"
```
## Что делать после обновления
После обновления вы можете:
1. Запустить бота: `npm run start`
2. Запустить бота в режиме разработки: `npm run dev`
3. Перезапустить Docker-контейнеры, если используете Docker: `docker-compose down && docker-compose up -d`