uploader-bot/check_app_status.sh

76 lines
2.6 KiB
Bash
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
# Проверка статуса приложения и настройка домена
echo "🔍 ДИАГНОСТИКА ПРИЛОЖЕНИЯ И ДОМЕНА"
DOMAIN="my-public-node-3.projscale.dev"
echo ""
echo "=== 1. СТАТУС КОНТЕЙНЕРОВ ==="
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
echo ""
echo "=== 2. ПРОВЕРКА ПОРТОВ ПРИЛОЖЕНИЯ ==="
for port in 3000 5000; do
if timeout 5 curl -s http://localhost:$port/api/health > /dev/null 2>&1; then
echo "✅ Port $port: РАБОТАЕТ"
else
echo "❌ Port $port: НЕ РАБОТАЕТ"
fi
done
echo ""
echo "=== 3. ЛОГИ ПРИЛОЖЕНИЯ ==="
APP_CONTAINER=$(docker ps --format "{{.Names}}" | grep -E "(app|uploader)" | head -1)
if [ -n "$APP_CONTAINER" ]; then
echo "📄 Логи $APP_CONTAINER (последние 10 строк):"
docker logs --tail=10 "$APP_CONTAINER" 2>&1
else
echo "❌ Контейнер приложения не найден"
fi
echo ""
echo "=== 4. ПРОВЕРКА NGINX ДЛЯ ДОМЕНА ==="
echo "🌐 Домен: $DOMAIN"
# Проверка текущей конфигурации nginx
echo "Текущая конфигурация server_name:"
sudo grep -E "server_name|listen" /etc/nginx/sites-enabled/default
echo ""
echo "=== 5. ТЕСТ СОЕДИНЕНИЯ ПО ДОМЕНУ ==="
# HTTP тест
if timeout 10 curl -I http://$DOMAIN/health 2>/dev/null | head -1; then
echo "✅ HTTP работает"
else
echo "❌ HTTP не работает"
fi
# HTTPS тест
if timeout 10 curl -k -I https://$DOMAIN/health 2>/dev/null | head -1; then
echo "✅ HTTPS работает"
else
echo "❌ HTTPS не работает (SSL не настроен)"
fi
echo ""
echo "=== 6. РЕКОМЕНДАЦИИ ==="
# Проверка что приложение работает
LOCAL_WORKS=$(curl -s --max-time 5 http://localhost:3000/api/health > /dev/null 2>&1 && echo "yes" || echo "no")
if [ "$LOCAL_WORKS" = "yes" ]; then
echo "✅ Приложение работает локально"
echo "🔧 Нужно настроить SSL для домена $DOMAIN"
echo ""
echo "Выполните:"
echo "sudo ./setup_ssl_for_domain.sh"
else
echo "❌ Приложение не работает локально"
echo "🔧 Сначала нужно исправить приложение"
echo ""
echo "Выполните:"
echo "docker-compose -f deployment/docker-compose.production.yml restart app"
echo "docker logs \$(docker ps --format \"{{.Names}}\" | grep app | head -1)"
fi