Files
protekauto-cms/scripts/deploy.sh
2025-06-26 06:59:19 +03:00

84 lines
3.0 KiB
Bash
Executable File
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.

#!/bin/bash
# Скрипт деплоя ProtekAuto CMS с SMS интеграцией
set -e
echo "🚀 Начало деплоя ProtekAuto CMS..."
# Проверяем, что мы в правильной директории
if [ ! -f "package.json" ]; then
echo "❌ Ошибка: запустите скрипт из корневой директории проекта"
exit 1
fi
# Останавливаем старые контейнеры
echo "🛑 Остановка старых контейнеров..."
docker-compose down --remove-orphans
# Проверяем переменные окружения
echo "🔍 Проверка переменных окружения..."
if [ ! -f "stack.env" ]; then
echo "❌ Файл stack.env не найден"
exit 1
fi
# Проверяем SMS конфигурацию
echo "📱 Проверка SMS конфигурации..."
source stack.env
export $(cut -d= -f1 stack.env | grep -v '^#')
# Проверяем обязательные переменные для SMS
if [ -z "$BEELINE_SMS_USER" ] || [ -z "$BEELINE_SMS_PASS" ]; then
echo "⚠️ SMS переменные не настроены. SMS функции будут недоступны."
echo " Для настройки SMS добавьте в stack.env:"
echo " BEELINE_SMS_USER=ваш_логин"
echo " BEELINE_SMS_PASS=ваш_пароль"
echo " BEELINE_SMS_SENDER=Protekauto"
echo ""
read -p "Продолжить деплой без SMS? (y/n): " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
else
echo "✅ SMS API настроен (пользователь: $BEELINE_SMS_USER)"
fi
# Собираем новый образ
echo "🔨 Сборка Docker образа..."
docker-compose build --no-cache
# Запускаем новые контейнеры
echo "🚀 Запуск новых контейнеров..."
docker-compose up -d
# Ждем запуска
echo "⏳ Ожидание запуска сервиса..."
sleep 30
# Проверяем статус
echo "🔍 Проверка статуса сервиса..."
if docker-compose ps | grep -q "Up"; then
echo "✅ Сервис успешно запущен!"
# Проверяем SMS API если настроен
if [ ! -z "$BEELINE_SMS_USER" ] && [ ! -z "$BEELINE_SMS_PASS" ]; then
echo "📱 Проверка SMS API..."
sleep 5
if curl -s -f "http://localhost:3000/api/sms/status" > /dev/null; then
echo "✅ SMS API работает"
else
echo "⚠️ SMS API может быть недоступен"
fi
fi
echo ""
echo "🎉 Деплой завершен успешно!"
echo "🌐 CMS доступна по адресу: http://localhost:3000"
echo "📊 Мониторинг SMS: http://localhost:3000/api/sms/status"
else
echo "❌ Ошибка при запуске сервиса"
echo "Логи:"
docker-compose logs
exit 1
fi