una app que recopila noticias de todo el munndo, las traduce y las convierte a vectorial para busquedas semanticas
Find a file
SITO ec839b5b54 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>
2026-03-30 22:04:22 +02:00
backend feat(deploy): despliegue nativo Debian sin Docker 2026-03-30 20:49:30 +02:00
deploy/debian feat(debug): troubleshooting y diagnostico en scripts 2026-03-30 22:04:22 +02:00
frontend feat(deploy): despliegue nativo Debian sin Docker 2026-03-30 20:49:30 +02:00
init-db go integration and wikipedia 2026-03-28 18:30:07 +01:00
init-replica Initial clean commit 2026-01-13 13:39:51 +01:00
migrations Preparar repositorio para despliegue: código fuente limpio 2026-01-23 02:00:40 +01:00
poc feat(debug): troubleshooting y diagnostico en scripts 2026-03-30 22:04:22 +02:00
rss-ingestor-go feat(deploy): despliegue nativo Debian sin Docker 2026-03-30 20:49:30 +02:00
workers go integration and wikipedia 2026-03-28 18:30:07 +01:00
.dockerignore Preparar repositorio para despliegue: código fuente limpio 2026-01-23 02:00:40 +01:00
.env.example go integration and wikipedia 2026-03-28 18:30:07 +01:00
.env.secure.example Initial clean commit 2026-01-13 13:39:51 +01:00
.gitignore Preparar repositorio para despliegue: código fuente limpio 2026-01-23 02:00:40 +01:00
DEPLOY.md Initial clean commit 2026-01-13 13:39:51 +01:00
DEPLOY_DEBIAN.md fix(deploy): corregir 5 problemas bloqueantes para despliegue Debian 2026-03-30 21:11:56 +02:00
entity_config.json Initial clean commit 2026-01-13 13:39:51 +01:00
feeds.csv go integration and wikipedia 2026-03-28 18:30:07 +01:00
FUNCIONES_DE_ARCHIVOS.md Preparar repositorio para despliegue: código fuente limpio 2026-01-23 02:00:40 +01:00
generate_secure_credentials.sh Initial clean commit 2026-01-13 13:39:51 +01:00
IMPLEMENTACION_LLM_RESUMEN.md Preparar repositorio para despliegue: código fuente limpio 2026-01-23 02:00:40 +01:00
Makefile go integration and wikipedia 2026-03-28 18:30:07 +01:00
migrate_to_secure.sh Initial clean commit 2026-01-13 13:39:51 +01:00
NEWSPAPER_STYLE_GUIDE.md Preparar repositorio para despliegue: código fuente limpio 2026-01-23 02:00:40 +01:00
nginx.conf go integration and wikipedia 2026-03-28 18:30:07 +01:00
QDRANT_SETUP.md Initial clean commit 2026-01-13 13:39:51 +01:00
QUICKSTART_LLM.md Preparar repositorio para despliegue: código fuente limpio 2026-01-23 02:00:40 +01:00
README.md feat: prerequisites, POC local y README reescrito 2026-03-30 21:17:11 +02:00
requirements.txt Initial clean commit 2026-01-13 13:39:51 +01:00
SECURITY_AUDIT.md Initial clean commit 2026-01-13 13:39:51 +01:00
SECURITY_GUIDE.md Initial clean commit 2026-01-13 13:39:51 +01:00
TRANSLATION_FIX_SUMMARY.md cambios en la busqueda ajaz y correcciones en traducciones 2026-01-28 11:20:19 +01:00
verify_security.sh Initial clean commit 2026-01-13 13:39:51 +01:00

COCONEWS

Plataforma de inteligencia de noticias. Agrega feeds RSS de cualquier idioma, los traduce automáticamente al español, extrae entidades, los agrupa por eventos y los hace buscables semánticamente.


Qué hace

  • Ingesta feeds RSS/Atom de cualquier idioma de forma continua
  • Traduce al español con NLLB-200 (200 idiomas soportados)
  • Extrae entidades (personas, organizaciones, lugares) con spaCy y las enriquece con Wikipedia
  • Genera embeddings para búsqueda por significado, no solo por palabras clave
  • Agrupa noticias del mismo evento automáticamente
  • Categoriza contenido con reglas y modelos de lenguaje
  • Interfaz web React con búsqueda semántica, filtros y tooltips de Wikipedia

Arquitectura

Internet (RSS/Atom)
        │
        ▼
  rss-ingestor-go ──→ PostgreSQL ──→ langdetect
        │                    │             │
   scraper/discovery         │         translator (NLLB-200)
                             │             │
                             │         embeddings (MiniLM)
                             │             │
                             │         ner (spaCy)
                             │             │
                             │         cluster / related
                             │             │
                             │         qdrant-worker ──→ Qdrant
                             │
                    backend-go (API REST :8080)
                             │
                    nginx (:8001)
                             │
                    Frontend React

Stack:

  • Go 1.25 — API REST (Gin), ingestor RSS, scraper, workers
  • Python 3 — Workers ML (NLLB-200, MiniLM, spaCy, CTranslate2)
  • PostgreSQL 16 — datos relacionales + full-text search
  • Qdrant — búsqueda vectorial semántica
  • Redis 7 — caché de consultas
  • React 18 + TypeScript + Tailwind — frontend
  • nginx — proxy inverso + archivos estáticos

Inicio rápido (POC local)

Prueba COCONEWS en tu máquina en ~2 minutos con datos de muestra, sin instalar los modelos ML.

Requisitos mínimos para el POC:

  • Go 1.25+
  • Node.js 18+
  • PostgreSQL (corriendo)
  • Redis (corriendo)
git clone https://gitea.laenre.net/pietre/rss2.git coconews
cd coconews
git checkout coconews

bash poc/poc.sh

Abre http://127.0.0.1:18001 en el navegador. El primer usuario que se registre será administrador.


Instalación en servidor Debian

Para un despliegue completo con todos los workers ML en producción:

1. Instalar prerequisites

sudo bash deploy/debian/prerequisites.sh

Instala: PostgreSQL 16, Redis, nginx, Go 1.25, Node.js 20, Qdrant, Python 3 venv. Pregunta si instalar los modelos ML pesados ahora o después.

2. Configurar entorno

cp deploy/debian/env.example /opt/rss2/.env
nano /opt/rss2/.env   # edita contraseñas y SECRET_KEY

3. Instalar y arrancar

sudo bash deploy/debian/install.sh

Compila los binarios Go, el frontend React, crea los servicios systemd y arranca todo.

Acceder

http://IP_DEL_SERVIDOR:8001

Guía completa: DEPLOY_DEBIAN.md


Gestión de servicios

# Estado general
systemctl status rss2-backend rss2-ingestor rss2-translator

# Logs en tiempo real
journalctl -u rss2-backend -f
journalctl -u rss2-translator -f

# Reiniciar tras actualizar código
git pull
sudo bash deploy/debian/build.sh

Actualizar el código

cd /ruta/al/repo
git pull
sudo bash deploy/debian/build.sh

build.sh recompila los binarios Go, el frontend y sincroniza los workers Python, y reinicia los servicios automáticamente.


Requisitos de hardware

Modo CPU RAM Disco
POC local 2 cores 4 GB 10 GB
Producción CPU 4+ cores 8 GB 40 GB
Producción recomendado 8 cores 16 GB 80 GB

Estructura del repositorio

├── backend/              Go — API REST + workers (scraper, discovery, wiki, topics, related, qdrant)
├── rss-ingestor-go/      Go — Ingestor de feeds RSS
├── frontend/             React + TypeScript + Tailwind
├── workers/              Python — ML workers (traducción, embeddings, NER, cluster, categorización)
├── init-db/              SQL — Schema y datos iniciales
├── migrations/           SQL — Migraciones incrementales
├── deploy/debian/        Scripts de despliegue para Debian sin Docker
│   ├── prerequisites.sh  Instala todas las dependencias del sistema
│   ├── install.sh        Instalación completa
│   ├── build.sh          Recompila y reinicia tras actualizar código
│   ├── env.example       Plantilla de variables de entorno
│   ├── nginx.conf        Configuración nginx para despliegue nativo
│   └── systemd/          Ficheros de servicio systemd (16 servicios)
├── poc/
│   ├── poc.sh            POC local con datos de prueba (sin Docker, sin ML)
│   └── seed.sql          Datos de muestra para el POC
├── feeds.csv             Feeds RSS precargados para importar desde el admin
├── entity_config.json    Aliases y blacklist para normalización de entidades NER
└── DEPLOY_DEBIAN.md      Guía detallada de despliegue en Debian