chore: gitignore, requirements y variables de entorno

Cubre lo que el gitignore anterior dejaba fuera y podia acabar publicado:
el token del panel admin, el buzon de envios de periodistas, los .env, los
backups con sufijo de fecha (*.bak no casa con .bak-20260823) y los logs
rotados (*.log no casa con .log.1).

requirements.txt recoge las dependencias reales de los workers con las
versiones que corren en produccion. El .env.example documenta todas las
variables, incluidas las rutas, que ahora se deducen solas.
This commit is contained in:
hacklab 2026-08-23 17:11:31 +02:00
parent a567376e40
commit 8625746ace
3 changed files with 75 additions and 17 deletions

View file

@ -1,6 +1,34 @@
# Conexión a MongoDB
# ── MongoDB ────────────────────────────────────────────────────────────────
MONGO_URL=mongodb://localhost:27017
DB_NAME=FLUJOS_DATOS
# Puerto del servidor Node.js
# ── API de visualización (FLUJOS/BACK_BACK/FLUJOS_APP.js) ──────────────────
PORT=3000
# Colección de aristas que alimenta el grafo: `comparaciones` (solape de
# palabras, histórica) o `comparaciones_v2` (motor semántico).
COMPARACIONES_COL=comparaciones
# Token del panel /admin. Si no se define, se lee de FLUJOS_DATOS/.admin_token
# ADMIN_TOKEN=
# ── Rutas (por defecto se deducen de la ubicación del código) ──────────────
# Envíos del buzón de periodistas. Debe quedar FUERA del webroot.
# SUBMISSIONS_DIR=
# Imágenes de Wikipedia ya scrapeadas, servidas en /wiki-images
# WIKI_IMAGES_DIR=
# Raíz de FLUJOS_DATOS para los scripts de scraping y comparación
# FLUJOS_DATOS_DIR=
# ── API de noticias (coconews/api/server.js) ───────────────────────────────
COCONEWS_PORT=3100
# ── Ingestor RSS (coconews/workers/ingestor.py) ────────────────────────────
INGESTOR_SLEEP=900
INGESTOR_WORKERS=20
INGESTOR_FEED_TIMEOUT=20
INGESTOR_BACKFILL_IMG=1
INGESTOR_BACKFILL_DIAS=90
INGESTOR_BACKFILL_LOTE=300
# ── Análisis de imágenes (FLUJOS_DATOS/IMAGENES/image_analyzer.py) ─────────
VISION_MODEL=Qwen/Qwen3-VL-8B-Instruct
# HF_HOME=

36
.gitignore vendored
View file

@ -1,8 +1,19 @@
# ========================
# SECRETOS — NUNCA SUBIR
# ========================
# Token del panel de administración (lo lee FLUJOS_APP.js como fallback de ADMIN_TOKEN)
FLUJOS_DATOS/.admin_token
# Buzón de envíos de periodistas: material filtrado, no toca este repo jamás
FLUJOS_DATOS/SUBMISSIONS/
.env
.env.*
!.env.example
# ========================
# DATOS PESADOS - NO SUBIR
# ========================
# MongoDB (3.2 GB)
# MongoDB
FLUJOS_DATOS/MONGO/
# Modelo Qwen3-VL (~16GB)
@ -11,10 +22,6 @@ FLUJOS_DATOS/IMAGENES/model_cache/
# Imágenes scrapeadas y JSONs de output
FLUJOS_DATOS/IMAGENES/output/
# Logs del pipeline
FLUJOS_DATOS/pipeline_maestro.log
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log*
# Datos scrapeados - solo código, no datos
FLUJOS_DATOS/NOTICIAS/archivos/
FLUJOS_DATOS/NOTICIAS/articulos/
@ -24,15 +31,16 @@ FLUJOS_DATOS/NOTICIAS/processed_articles.txt
FLUJOS_DATOS/WIKIPEDIA/articulos_wikipedia/
FLUJOS_DATOS/WIKIPEDIA/articulos_tokenizados/
FLUJOS_DATOS/TORRENTS/
articulos_wikipedia/
# Entorno virtual Python (2.1 GB)
# Entornos virtuales Python
FLUJOS_DATOS/myenv/
myenv/
venv/
env/
.venv/
# NLTK data (50 MB)
# NLTK data
nltk_data/
# Bases de datos
@ -45,13 +53,6 @@ nltk_data/
node_modules/
**/node_modules/
# ========================
# SECRETOS Y CONFIG LOCAL
# ========================
.env
.env.*
!.env.example
# ========================
# PYTHON
# ========================
@ -66,6 +67,8 @@ __pycache__/
# ========================
*.save
*.bak
# `*.bak` no casa con `fichero.js.bak-20260823`
*.bak-*
*_COPIA*
*~
.DS_Store
@ -76,13 +79,16 @@ Thumbs.db
# ========================
logs/
*.log
# `*.log` no casa con los rotados `pipeline_mongolo.log.1`
*.log.*
npm-debug.log*
# ========================
# IDEs
# HERRAMIENTAS Y EDITORES
# ========================
.vscode/
.idea/
.claude/
*.swp
*.swo

24
requirements.txt Normal file
View file

@ -0,0 +1,24 @@
# Dependencias Python de los workers de ingesta y del motor de correlación.
# Versiones con las que corre en producción.
#
# python3 -m venv .venv && . .venv/bin/activate
# pip install -r requirements.txt
# python3 -m spacy download es_core_news_sm
# Base de datos
pymongo==4.13.2
# Ingesta de noticias
feedparser==6.0.12
requests==2.28.1
beautifulsoup4==4.11.2
deep-translator==1.9.1
# Análisis
spacy==3.8.14
sentence-transformers==5.4.1
numpy==2.4.4
# Opcional: acelera la búsqueda de vecinos en motor_comparacion.py.
# Sin faiss el motor cae a numpy, que es más lento pero da el mismo resultado.
# faiss-cpu