Files
tg_tinder_bot/DEPLOYMENT.md
2025-09-12 21:25:54 +09:00

175 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 Checklist для запуска Telegram Tinder Bot
## ✅ Предварительные требования
### Системные требования
- [ ] Node.js 16+ установлен
- [ ] PostgreSQL 12+ установлен (или Docker)
- [ ] Git установлен
### Telegram Bot Setup
- [ ] Создать бота через @BotFather
- [ ] Получить Bot Token
- [ ] Настроить команды бота:
```
start - Начать знакомство
profile - Мой профиль
browse - Смотреть анкеты
matches - Мои матчи
settings - Настройки
help - Помощь
```
## 🛠️ Установка и настройка
### 1. Клонирование и установка
```bash
git clone <repository-url>
cd telegram-tinder-bot
chmod +x setup.sh
./setup.sh
```
### 2. Настройка конфигурации
- [ ] Скопировать `.env.example` в `.env`
- [ ] Заполнить `TELEGRAM_BOT_TOKEN`
- [ ] Настроить подключение к базе данных
### 3. База данных
- [ ] Создать базу данных `telegram_tinder_bot`
- [ ] Запустить миграции:
```bash
psql -d telegram_tinder_bot -f src/database/migrations/init.sql
```
## 🔧 Конфигурация .env файла
```env
# Обязательные настройки
TELEGRAM_BOT_TOKEN=your_bot_token_here
DB_HOST=localhost
DB_PORT=5432
DB_NAME=telegram_tinder_bot
DB_USERNAME=postgres
DB_PASSWORD=your_password
# Опциональные настройки
NODE_ENV=production
PORT=3000
UPLOAD_PATH=./uploads
MAX_FILE_SIZE=5242880
```
## 🚀 Запуск бота
### Разработка
```bash
npm run dev
```
### Продакшен (PM2)
```bash
npm run build
npm run start:prod
```
### Docker
```bash
docker-compose up -d
```
## 🧪 Тестирование
### Проверка компиляции
```bash
npm run build
```
### Проверка подключения к БД
```bash
npm run test:db
```
### Ручное тестирование
- [ ] Отправить `/start` боту
- [ ] Пройти регистрацию
- [ ] Загрузить фото
- [ ] Попробовать поиск анкет
- [ ] Создать тестовый матч
## 📊 Мониторинг
### Логи
- [ ] Проверить `logs/` папку
- [ ] Настроить ротацию логов
- [ ] Мониторинг ошибок
### Метрики
- [ ] Количество пользователей
- [ ] Активность регистраций
- [ ] Количество матчей
- [ ] Объем сообщений
## 🔒 Безопасность
### Обязательно
- [ ] Изменить пароли по умолчанию
- [ ] Настроить файрвол
- [ ] Ограничить доступ к БД
- [ ] Регулярные бэкапы
### Опционально
- [ ] SSL сертификаты
- [ ] Rate limiting
- [ ] IP whitelist для админки
## 🚨 Troubleshooting
### Частые проблемы
**Bot не отвечает:**
- Проверить токен в .env
- Проверить сетевое подключение
- Посмотреть логи ошибок
**Ошибки БД:**
- Проверить настройки подключения
- Убедиться что PostgreSQL запущен
- Проверить права доступа
**Ошибки компиляции:**
- Обновить Node.js
- Переустановить зависимости: `rm -rf node_modules && npm install`
### Полезные команды
```bash
# Перезапуск бота
pm2 restart telegram-tinder-bot
# Просмотр логов
pm2 logs telegram-tinder-bot
# Статус процессов
pm2 status
# Остановка бота
pm2 stop telegram-tinder-bot
```
## 📞 Поддержка
### При возникновении проблем:
1. Проверьте логи в `logs/error.log`
2. Убедитесь в правильности конфигурации
3. Проверьте статус всех сервисов
4. Создайте issue с описанием проблемы
### Полезные ресурсы:
- [Telegram Bot API](https://core.telegram.org/bots/api)
- [PostgreSQL Documentation](https://www.postgresql.org/docs/)
- [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
---
**🎉 После выполнения всех пунктов ваш Telegram Tinder Bot готов к работе!**