#!/bin/bash

# Скрипт для обновления и перезапуска приложения через Docker
# Использование: ./deploy.sh

set -e  # Остановка при ошибке

echo "🚀 Начинаем обновление..."

echo ""
echo "📥 Шаг 1/4: Обновление кода из Git..."
git pull
if [ $? -eq 0 ]; then
    echo "✅ Git pull выполнен успешно"
else
    echo "❌ Ошибка при git pull"
    exit 1
fi

echo ""
echo "🛑 Шаг 2/4: Остановка контейнеров..."
docker compose down
if [ $? -eq 0 ]; then
    echo "✅ Контейнеры остановлены"
else
    echo "❌ Ошибка при остановке контейнеров"
    exit 1
fi

echo ""
echo "🔨 Шаг 3/4: Сборка образов (без кеша)..."
docker compose build --no-cache
if [ $? -eq 0 ]; then
    echo "✅ Образы собраны успешно"
else
    echo "❌ Ошибка при сборке образов"
    exit 1
fi

echo ""
echo "▶️  Шаг 4/4: Запуск контейнеров..."
docker compose up -d
if [ $? -eq 0 ]; then
    echo "✅ Контейнеры запущены"
else
    echo "❌ Ошибка при запуске контейнеров"
    exit 1
fi

echo ""
echo "🎉 Обновление завершено успешно!"
echo ""
echo "📊 Статус контейнеров:"
docker compose ps
