Some checks failed
continuous-integration/drone/push Build is failing
- Add backend/utils.py for URL management - Update serializers to use normalize_file_url() - Update views to use URL utils from env vars - Fix frontend components to use NEXT_PUBLIC_API_URL - Add new env vars: DJANGO_BACKEND_URL, DJANGO_MEDIA_BASE_URL - Replace all hardcoded localhost:8000 with configurable URLs
76 lines
3.1 KiB
Bash
Executable File
76 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
echo "🔧 Исправление хардкод ссылок localhost:8000"
|
||
echo "============================================="
|
||
|
||
# Обновляем переменную SSL редиректа в production на False для правильной работы через nginx
|
||
echo "Обновление .env с новыми URL настройками..."
|
||
|
||
# Проверяем, что SSL редирект отключен для production
|
||
grep -q "DJANGO_SECURE_SSL_REDIRECT=True" .env && {
|
||
echo "⚠️ Обнаружен SSL редирект в True - отключаем для правильной работы через nginx"
|
||
sed -i 's/DJANGO_SECURE_SSL_REDIRECT=True/DJANGO_SECURE_SSL_REDIRECT=False/' .env
|
||
}
|
||
|
||
echo "✅ Переменные окружения обновлены"
|
||
|
||
echo ""
|
||
echo "Проверка текущих URL настроек в .env:"
|
||
echo "======================================"
|
||
grep -E "(NEXT_PUBLIC_API_URL|DJANGO_BACKEND|DJANGO_SECURE_SSL_REDIRECT)" .env | head -10
|
||
|
||
echo ""
|
||
echo "Перезапуск контейнеров для применения изменений..."
|
||
echo "=================================================="
|
||
|
||
# Перезапускаем только web контейнер (backend)
|
||
echo "Перезапуск backend контейнера..."
|
||
docker compose restart web
|
||
|
||
# Ждем запуска
|
||
sleep 5
|
||
|
||
# Проверяем, что контейнеры запущены
|
||
echo ""
|
||
echo "Статус контейнеров:"
|
||
docker ps --format "table {{.Names}}\t{{.Status}}"
|
||
|
||
echo ""
|
||
echo "Проверка переменных окружения в контейнере:"
|
||
echo "==========================================="
|
||
docker exec links-web-1 env | grep -E "(DJANGO_BACKEND|DJANGO_SECURE_SSL_REDIRECT)" | head -5
|
||
|
||
echo ""
|
||
echo "Быстрая проверка API:"
|
||
echo "===================="
|
||
|
||
# Ждем еще немного для полного запуска
|
||
sleep 3
|
||
|
||
echo -n "Локальный API (backend): "
|
||
if curl -s -o /dev/null -w "%{http_code}" http://localhost:8000/api/ | grep -q "200"; then
|
||
echo "✅ OK"
|
||
else
|
||
echo "❌ ERROR"
|
||
fi
|
||
|
||
echo -n "Внешний API (nginx): "
|
||
if curl -s -o /dev/null -w "%{http_code}" https://links.shareon.kr/api/ | grep -q "200"; then
|
||
echo "✅ OK"
|
||
else
|
||
echo "❌ ERROR"
|
||
fi
|
||
|
||
echo ""
|
||
echo "🎉 Исправление завершено!"
|
||
echo "========================"
|
||
echo ""
|
||
echo "✅ Изменения:"
|
||
echo " • Создана утилита backend/backend/utils.py для работы с URL"
|
||
echo " • Обновлены serializers для использования переменных окружения"
|
||
echo " • Обновлены views для использования normalize_file_url()"
|
||
echo " • Исправлены хардкод ссылки в frontend компонентах"
|
||
echo " • URL теперь берутся из DJANGO_BACKEND_URL и NEXT_PUBLIC_API_URL"
|
||
echo ""
|
||
echo "⚠️ Рекомендация: Пересобрать frontend для применения изменений"
|
||
echo "cd frontend/linktree-frontend && npm run build" |