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

90 lines
3.7 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
# Скрипт для обновления переменных окружения без пересборки образа
set -e
echo "🔄 Обновление переменных окружения..."
# Проверяем, что мы в правильной директории
if [ ! -f "package.json" ]; then
echo "❌ Ошибка: запустите скрипт из корневой директории проекта"
exit 1
fi
# Проверяем файл stack.env
if [ ! -f "stack.env" ]; then
echo "❌ Файл stack.env не найден"
exit 1
fi
# Загружаем новые переменные
echo "📂 Загрузка переменных из stack.env..."
source stack.env
export $(cut -d= -f1 stack.env | grep -v '^#')
# Проверяем SMS конфигурацию
echo "📱 Проверка SMS конфигурации..."
if [ -z "$BEELINE_SMS_USER" ] || [ -z "$BEELINE_SMS_PASS" ]; then
echo "⚠️ SMS переменные не настроены"
else
echo "✅ SMS API настроен (пользователь: $BEELINE_SMS_USER)"
echo " Отправитель: ${BEELINE_SMS_SENDER:-Protekauto}"
fi
# Перезапускаем контейнеры с новыми переменными
echo "🔄 Перезапуск контейнеров с новой конфигурацией..."
docker-compose down
docker-compose up -d
# Ждем запуска
echo "⏳ Ожидание запуска сервиса..."
sleep 15
# Проверяем статус
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 "❌ Ошибка при перезапуске"
docker-compose logs --tail=50
exit 1
fi
echo "🔧 Обновление переменных окружения PartsAPI..."
# Проверяем, есть ли уже переменные PartsAPI
if docker exec protekauto-cms-protekauto-cms-1 printenv | grep -q "PARTSAPI_"; then
echo "⚠️ Переменные PartsAPI уже существуют в контейнере"
docker exec protekauto-cms-protekauto-cms-1 printenv | grep "PARTSAPI_"
else
echo "❌ Переменные PartsAPI отсутствуют в контейнере!"
echo ""
echo "🔑 Нужно добавить следующие переменные в файл переменных окружения вашего сервера:"
echo ""
echo "PARTSAPI_CATEGORIES_KEY=8260834d954cf000b9d61cc31ff0655d"
echo "PARTSAPI_ARTICLES_KEY=a516f2b87c4f98c078f5e758d6d44a91"
echo "PARTSAPI_MEDIA_KEY=230d8c7118a36cc6d36d72681b76982b"
echo ""
echo "📝 После добавления переменных, перезапустите контейнер:"
echo "docker-compose down && docker-compose up -d"
fi
echo ""
echo "🔍 Текущие переменные окружения в контейнере:"
docker exec protekauto-cms-protekauto-cms-1 printenv | grep -E "(PARTSAPI_|LAXIMO_|AUTOEURO_)" || echo "Переменные API не найдены"