#!/bin/bash # Скрипт для быстрого развертывания Global-IT24 на Ubuntu с внешним Traefik set -e echo "🚀 Развертывание Global-IT24..." # Проверка наличия .env файла if [ ! -f .env ]; then echo "⚠️ Файл .env не найден. Создаю из .env.example..." cp .env.example .env echo "📝 Отредактируйте файл .env (укажите APP_HOST_IP) и запустите скрипт снова." exit 1 fi # Загрузка переменных окружения source .env # Проверка APP_HOST_IP if [ -z "$APP_HOST_IP" ] || [ "$APP_HOST_IP" = "192.168.50.X" ]; then echo "⚠️ Пожалуйста, укажите APP_HOST_IP в файле .env" echo "📝 Текущий IP адрес сервера:" hostname -I exit 1 fi # Остановка предыдущей версии echo "🛑 Остановка предыдущей версии..." docker compose down 2>/dev/null || true # Сборка нового образа echo "🔨 Сборка Docker образа..." docker compose build --no-cache # Запуск контейнера echo "▶️ Запуск контейнера..." docker compose up -d # Ожидание готовности echo "⏳ Ожидание готовности сервиса..." sleep 10 # Проверка статуса if docker compose ps | grep -q "Up"; then echo "✅ Развертывание успешно завершено!" echo "" echo "📊 Статус контейнера:" docker compose ps echo "" echo "🌐 Сайт будет доступен по адресу: ${NEXT_PUBLIC_SITE_URL}" echo " после настройки Traefik на хосте ${TRAEFIK_HOST}" echo "" echo "🔧 Настройте Traefik (см. traefik-config-example.yml):" echo " - IP приложения: ${APP_HOST_IP}:3000" echo " - Домен: ${DOMAIN}" echo "" echo "📝 Для просмотра логов используйте: ./logs.sh" echo "🧪 Локальная проверка: curl http://localhost:3000" else echo "❌ Ошибка при запуске контейнера!" echo "📝 Логи:" docker compose logs exit 1 fi