Puertos escuchando
LISTEN 0 128 127.0.0.1:3801 0.0.0.0:* users:(("python3",pid=81597,fd=4))
LISTEN 0 128 0.0.0.0:3800 0.0.0.0:* users:(("python3",pid=81228,fd=4))
LISTEN 0 4096 0.0.0.0:4000 0.0.0.0:* users:(("docker-proxy",pid=45280,fd=8))
LISTEN 0 4096 127.0.0.54:53 0.0.0.0:* users:(("systemd-resolve",pid=594,fd=17))
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=594,fd=15))
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=80865,fd=5),("nginx",pid=80864,fd=5),("nginx",pid=80863,fd=5),("nginx",pid=80862,fd=5),("nginx",pid=80861,fd=5),("nginx",pid=80860,fd=5),("nginx",pid=792,fd=5))
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=887,fd=3),("systemd",pid=1,fd=109))
LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=80865,fd=11),("nginx",pid=80864,fd=11),("nginx",pid=80863,fd=11),("nginx",pid=80862,fd=11),("nginx",pid=80861,fd=11),("nginx",pid=80860,fd=11),("nginx",pid=792,fd=11))
LISTEN 0 511 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=9049,fd=6))
LISTEN 0 200 0.0.0.0:5432 0.0.0.0:* users:(("postgres",pid=34907,fd=6))
LISTEN 0 4096 [::]:4000 [::]:* users:(("docker-proxy",pid=45288,fd=8))
LISTEN 0 511 [::1]:6379 [::]:* users:(("redis-server",pid=9049,fd=7))
LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=80865,fd=6),("nginx",pid=80864,fd=6),("nginx",pid=80863,fd=6),("nginx",pid=80862,fd=6),("nginx",pid=80861,fd=6),("nginx",pid=80860,fd=6),("nginx",pid=792,fd=6))
LISTEN 0 4096 [::]:22 [::]:* users:(("sshd",pid=887,fd=4),("systemd",pid=1,fd=110))
LISTEN 0 200 [::]:5432 [::]:* users:(("postgres",pid=34907,fd=7))📋 Pasaporte
# PASAPORTE — Historiador / Bodeguero / Mayordomo
### Ecosistema SMART — VPS 95.111.239.196 (Contabo)
**Actualizado:** 2026-07-11 | **Para:** cualquier Claude que entre a trabajar en este VPS
---
## 0. LEER PRIMERO — REGLAS DE TRABAJO
Ver /var/historia/REGLAS.md (12 reglas, cumplimiento estricto).
Se muestran automáticamente en el Mayordomo.
---
## 1. ACCESO RAPIDO
| Que | Donde |
|---|---|
| Mayordomo (panel web) | https://mayordomo.smartketing.online |
| Portal de subida de archivos | https://upfiles.smartketing.online (usuario/contraseña) |
| SSH al VPS | ssh root@95.111.239.196 |
| Reglas de trabajo | /var/historia/REGLAS.md |
| Bitacoras por proyecto | /var/historia//BITACORA.md |
---
## 2. QUE ESTA CONSTRUIDO Y FUNCIONANDO
### 2.1 Historiador - sistema de bitacoras automaticas (3 capas), sin cambios desde el pasaporte anterior.
### 2.2 Bodeguero - indexador de Google Drives, sin cambios desde el pasaporte anterior (60,456 elementos, 2 de ~40 remotes).
### 2.3 Mayordomo (panel web de estado del VPS)
- Accesible por HTTPS en https://mayordomo.smartketing.online
- SSL emitido por Let's Encrypt (Certbot), vence 2026-10-09, renovacion automatica
- Sin autenticacion todavia - decision consciente: uso interno de trabajo, no se comparte publicamente
### 2.4 Portal de subida de archivos (upfiles) - NUEVO, resuelve el pendiente #3
- App Flask corriendo en PM2 (proceso upfiles, puerto interno 3801)
- Formulario simple: elegis proyecto + archivo, sube directo al VPS
- Archivos guardados en /root/bodeguero/subidas// con timestamp
- Limite de 300 MB por archivo
- Accesible en https://upfiles.smartketing.online
- Protegido con usuario/contraseña (/etc/nginx/.htpasswd_upfiles)
- SSL emitido por Let's Encrypt, vence 2026-10-09, renovacion automatica
---
## 3. ESTADO REAL DEL VPS (snapshot al momento de este pasaporte)
**IP:** 95.111.239.196 (Contabo Cloud VPS 20 NVMe)
**Docker containers corriendo:**
- evolution-go - puerto 4000
- evolution-go-postgres - puerto 5432 (interno)
**Otros servicios detectados:**
- redis-server en 6379 (solo localhost) - origen sin confirmar, sigue pendiente de investigar.
- postgres en 5432
- nginx en puertos 80 y 443, con sitios: default, mayordomo.smartketing.online, upfiles.smartketing.online
**PM2 activo:**
- historiador-capa2 (cron cada 8h, stopped entre corridas es normal)
- historiador-capa3 (cron cada 8h, stopped entre corridas es normal)
- bodeguero-describir (cron cada 3h, stopped entre corridas es normal)
- mayordomo (online permanente)
- upfiles (online permanente) - NUEVO
**Cloudflare:**
- Token de API guardado en /root/cloudflare/.env, con permiso Zone-DNS-Edit sobre smartketing.online
- Registros DNS creados: mayordomo.smartketing.online, upfiles.smartketing.online (ambos tipo A, sin proxy Cloudflare)
---
## 4. PENDIENTE POR CONSTRUIR (en orden sugerido)
1. Investigar Redis - confirmar para que proyecto es, si sigue en uso.
2. Descripcion de contenido para PDF/Word/Excel/PowerPoint bajo demanda.
3. ~~Portal de subida de archivos~~ - RESUELTO (ver seccion 2.4)
4. Conectar las ~38 cuentas de Drive restantes.
5. Subdominios adicionales via Cloudflare API - el flujo ya esta probado y funcionando (ver script /root/subdominios_setup.py), solo falta repetirlo para futuros subdominios que se necesiten.
6. Reporte directo desde cada script nuevo hacia su BITACORA.md.
7. Autenticacion en el Mayordomo - decision pendiente de revisar: por ahora se dejo sin contraseña a proposito por ser de uso interno; reevaluar si en algun momento se comparte mas ampliamente.
---
## 5. NOTAS DE SEGURIDAD PENDIENTES
- El token de Cloudflare fue pegado en el chat durante la sesion de pruebas de hoy - rotarlo en console.cloudflare.com cuando se cierre esta fase de pruebas.
- La API key de Groq del Bodeguero tambien quedo expuesta en el chat en una sesion anterior - rotar si no se hizo aun.
- Aviso previo sobre la cuenta de servicio evolution-dish - verificar si sigue en uso y revocar si no.
---
## 6. RUTAS CLAVE - REFERENCIA RAPIDA
/var/historia/REGLAS.md - Reglas de trabajo (global)
/var/historia/PASAPORTE.md - Este documento
/var/historia//BITACORA.md - Bitacora por proyecto
/root/historiador_capa1_setup.sh - Instalador Capa 1
/root/historiador/capa2_organizador.sh - Capa 2
/root/historiador/capa3_analista.py - Capa 3
/root/bodeguero/indexador.py - Indexador de Drives
/root/bodeguero/inventario.db - Base de datos del inventario
/root/bodeguero/describir_texto.py - Descripcion automatica texto/codigo
/root/bodeguero/mayordomo.py - Panel web (puerto 3800)
/root/bodeguero/upfiles_app.py - Portal de subida (puerto 3801)
/root/bodeguero/subidas// - Archivos subidos por upfiles
/root/cloudflare/.env - CLOUDFLARE_API_TOKEN
/root/subdominios_setup.py - Script para crear subdominios nuevos
/etc/nginx/.htpasswd_upfiles - Usuario/contraseña del portal de subida
/root/.config/rclone/rclone.conf - Configuracion de remotes de Drive