67 lines
2.3 KiB
Bash
Executable File
67 lines
2.3 KiB
Bash
Executable File
|
||
#!/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
|