init commit
This commit is contained in:
174
DEPLOYMENT.md
Normal file
174
DEPLOYMENT.md
Normal file
@@ -0,0 +1,174 @@
|
||||
# 🚀 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 готов к работе!**
|
||||
Reference in New Issue
Block a user