feat(debug): troubleshooting y diagnostico en scripts

poc/poc.sh:
- Verificacion de versiones: Go >=1.22, Node.js >=18 con mensaje de fix exacto
- Deteccion de puertos en uso antes de arrancar (API, frontend, Redis)
  con instruccion de quien ocupa el puerto
- show_log_tail(): muestra solo las lineas relevantes del log al fallar
- Compilacion Go: filtra lineas de error reales (error:/undefined:)
  en vez de volcar todo el log
- Backend no responde: sugiere probar DB y Redis individualmente con
  el comando exacto para diagnosticar
- Frontend: distingue error de npm install vs error de build TypeScript
- Flag --clean para borrar BD POC y empezar de cero
- Logs separados por componente en /tmp/coconews-poc/logs/

deploy/debian/check.sh (nuevo):
- Diagnostico completo del sistema post-instalacion
- Verifica 16 servicios systemd con estado y fix especifico por cada uno
- Prueba conectividad real: PostgreSQL, Redis (con auth), Qdrant HTTP, API Go, nginx
- Muestra metricas de BD: total noticias, traducciones hechas y pendientes
- Verifica binarios Go compilados y su tamano
- Verifica modelos ML: NLLB-200, spaCy es_core_news_lg, sentence-transformers, ctranslate2
- Comprueba disco (avisa si >75% o >90%), permisos de /opt/rss2 y .env
- Detecta si .env tiene valores por defecto sin cambiar
- Modo --quick para ver solo estado arriba/abajo rapidamente
- Resumen final con conteo de errores y advertencias, exit code 1 si hay errores

deploy/debian/prerequisites.sh:
- Comprobacion de espacio libre en disco al inicio (avisa si <10 GB)
- apt-get update con log de error y sugerencias de fix
- Seccion de troubleshooting en el resumen final con fixes comunes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
SITO 2026-03-30 22:04:22 +02:00
parent e3c682a36f
commit ec839b5b54
3 changed files with 651 additions and 69 deletions

View file

@ -36,8 +36,22 @@ echo ""
# =============================================================================
# 1. PAQUETES APT BASE
# =============================================================================
# Comprobar espacio en disco (mínimo 10 GB libres)
DISK_FREE_GB=$(df / --output=avail -BG | tail -1 | tr -d 'G ')
if [[ "${DISK_FREE_GB:-0}" -lt 10 ]]; then
warn "Espacio libre en disco: ${DISK_FREE_GB} GB (recomendado mínimo 10 GB)"
warn "Los modelos ML necesitan ~5 GB. Continua bajo tu responsabilidad."
fi
step "Actualizando repositorios apt..."
apt-get update -qq
apt-get update -qq 2>/tmp/apt-update.log || {
echo -e "${RED}Error al actualizar repositorios apt.${NC}"
echo " Posibles causas:"
echo " • Sin conexión a internet"
echo " • Repositorios con errores: cat /tmp/apt-update.log"
echo " • Solución: apt-get update --fix-missing"
exit 1
}
step "Instalando paquetes del sistema..."
apt-get install -y --no-install-recommends \
@ -285,7 +299,7 @@ fi
chown -R rss2:rss2 /opt/rss2
# =============================================================================
# RESUMEN
# RESUMEN Y SIGUIENTES PASOS
# =============================================================================
echo ""
echo "================================================="
@ -303,3 +317,11 @@ echo ""
echo " Siguiente paso:"
echo " sudo bash deploy/debian/install.sh"
echo ""
echo " Si algo falló durante la instalación:"
echo " • apt falla: apt-get update --fix-missing"
echo " • Go no descarga: verifica conectividad → curl https://go.dev"
echo " • Qdrant no baja: descárgalo manualmente en"
echo " https://github.com/qdrant/qdrant/releases"
echo " • pip falla: python3 -m venv /opt/rss2/venv --clear"
echo " • Diagnóstico: bash deploy/debian/check.sh"
echo ""