# 🚀 Инструкция по деплою Biveki Day Bot ## 📋 Подготовка к деплою ### 1. Переменные окружения Убедитесь, что в файле `stack.env` указаны правильные значения: ```env # Основные настройки приложения NODE_ENV=production PORT=3000 TZ=Europe/Moscow # База данных (ваша облачная PostgreSQL) DATABASE_URL=postgresql://username:password@host:port/database # Telegram Bot Token TELEGRAM_BOT_TOKEN=your_real_bot_token_here # Дополнительные настройки для продакшена LOG_LEVEL=info MAX_CONNECTIONS=10 ``` ### 2. Обязательные переменные для изменения: - `DATABASE_URL` - URL вашей облачной PostgreSQL базы данных - `TELEGRAM_BOT_TOKEN` - токен вашего Telegram бота ## 🐳 Деплой через Docker Compose ### Команды для деплоя: ```bash # 1. Клонируйте репозиторий (если еще не сделали) git clone https://gittea.biveki.ru/BivekiGroup/bivekidaybot.git cd bivekidaybot # 2. Убедитесь, что stack.env настроен правильно nano stack.env # 3. Соберите и запустите контейнер docker-compose up -d --build # 4. Проверьте статус docker-compose ps # 5. Посмотрите логи docker-compose logs -f bivekidaybot ``` ### Управление контейнером: ```bash # Остановить контейнер docker-compose down # Перезапустить контейнер docker-compose restart bivekidaybot # Обновить приложение git pull docker-compose up -d --build # Посмотреть логи docker-compose logs -f bivekidaybot # Войти в контейнер для отладки docker-compose exec bivekidaybot sh ``` ## 🔍 Проверка работоспособности 1. **Health Check**: `http://your-server:3000/health` 2. **Telegram Bot**: Отправьте `/start` боту 3. **Логи**: `docker-compose logs bivekidaybot` ## 📊 Мониторинг ### Проверка статуса контейнера: ```bash docker-compose ps ``` ### Просмотр ресурсов: ```bash docker stats bivekidaybot-app ``` ### Проверка health check: ```bash curl http://localhost:3000/health ``` ## 🔧 Настройки для продакшена ### Рекомендуемые изменения в stack.env: ```env # Для продакшена рекомендуется отключить synchronize в TypeORM NODE_ENV=production # Настройте правильный часовой пояс TZ=Europe/Moscow # Ограничьте количество подключений к БД MAX_CONNECTIONS=10 ``` ## 🚨 Устранение неполадок ### Проблемы с базой данных: 1. Проверьте правильность `DATABASE_URL` 2. Убедитесь, что БД доступна извне 3. Проверьте настройки SSL для облачной БД ### Проблемы с Telegram ботом: 1. Проверьте правильность `TELEGRAM_BOT_TOKEN` 2. Убедитесь, что токен активен 3. Проверьте, что бот не используется в другом месте ### Логи и отладка: ```bash # Подробные логи docker-compose logs -f --tail=100 bivekidaybot # Войти в контейнер docker-compose exec bivekidaybot sh # Перезапуск с полной пересборкой docker-compose down docker-compose up -d --build --force-recreate ``` ## 🔄 Обновление приложения ```bash # 1. Остановить контейнер docker-compose down # 2. Получить последние изменения git pull # 3. Пересобрать и запустить docker-compose up -d --build # 4. Проверить статус docker-compose ps docker-compose logs -f bivekidaybot ``` ## 📝 Примечания - База данных не включена в Docker Compose, так как используется облачная - Контейнер автоматически перезапускается при сбоях - Health check проверяет работоспособность каждые 30 секунд - Логи ротируются автоматически (максимум 3 файла по 10MB)