Files
bivekidaybot/deploy.sh
Bivekich 0ce19f8182 🚀 Initial commit: Biveki Day Bot with Docker deployment
 Features:
- 🤖 Telegram bot for task management between programmer and girlfriend
- 📝 Task creation with types (personal/shared) and priorities
-  Time-based reminders and notifications
- 📊 Statistics and progress tracking
- 🤝 Shared tasks for couples

🛠 Tech Stack:
- Backend: NestJS + TypeScript
- Database: PostgreSQL + TypeORM
- Bot: Telegraf
- Deployment: Docker + Docker Compose

🐳 Docker Deployment:
- Multi-stage Dockerfile for optimized builds
- Docker Compose with environment variables
- Health checks and automatic restarts
- Production-ready configuration

📦 Files included:
- Complete NestJS application
- Docker deployment configuration
- Environment variables setup
- Deployment scripts and documentation
- Health monitoring and logging
2025-06-26 21:40:27 +03:00

83 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# 🚀 Скрипт быстрого деплоя Biveki Day Bot
# Автор: Biveki Development Team
set -e # Остановка при ошибке
echo "🚀 Начинаем деплой Biveki Day Bot..."
# Проверка наличия Docker
if ! command -v docker &> /dev/null; then
echo "❌ Docker не установлен. Установите Docker и попробуйте снова."
exit 1
fi
# Проверка наличия Docker Compose
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose не установлен. Установите Docker Compose и попробуйте снова."
exit 1
fi
# Проверка наличия файла stack.env
if [ ! -f "stack.env" ]; then
echo "❌ Файл stack.env не найден!"
echo "📝 Создайте файл stack.env на основе stack.env.example"
echo " cp stack.env.example stack.env"
echo " nano stack.env"
exit 1
fi
# Проверка обязательных переменных
echo "🔍 Проверяем переменные окружения..."
if ! grep -q "DATABASE_URL=postgresql://" stack.env; then
echo "❌ DATABASE_URL не настроен в stack.env"
exit 1
fi
if ! grep -q "TELEGRAM_BOT_TOKEN=" stack.env && ! grep -q "your_bot_token_here" stack.env; then
echo "❌ TELEGRAM_BOT_TOKEN не настроен в stack.env"
exit 1
fi
echo "✅ Переменные окружения проверены"
# Остановка существующих контейнеров
echo "🛑 Останавливаем существующие контейнеры..."
docker-compose down --remove-orphans
# Сборка и запуск
echo "🔨 Собираем и запускаем приложение..."
docker-compose up -d --build
# Ожидание запуска
echo "⏳ Ожидаем запуск приложения..."
sleep 10
# Проверка статуса
echo "📊 Проверяем статус контейнеров..."
docker-compose ps
# Проверка health check
echo "🏥 Проверяем health check..."
sleep 5
if curl -f http://localhost:3000/health > /dev/null 2>&1; then
echo "✅ Health check прошел успешно!"
else
echo "⚠️ Health check не прошел, но это может быть нормально если приложение еще запускается"
fi
# Показываем логи
echo "📋 Последние логи приложения:"
docker-compose logs --tail=20 bivekidaybot
echo ""
echo "🎉 Деплой завершен!"
echo ""
echo "📱 Проверьте работу Telegram бота отправив команду /start"
echo "🌐 Health check: http://localhost:3000/health"
echo "📋 Логи: docker-compose logs -f bivekidaybot"
echo "🛑 Остановка: docker-compose down"
echo ""