Social Bot Scheduler

🚀 Social Bot Scheduler#

CI/CD Pipeline License: MIT Docker Hub Version Sitio Security: Hardened

Laboratorio de integración industrial multi-lenguaje y multi-servicio. El Social Bot Scheduler actúa como una Matriz Tecnológica donde n8n orquesta la comunicación entre bots emisores y receptores políglotas.

🌐 Sitio del laboratorio: https://vladimiracunadev-create.github.io/social-bot-scheduler/ — la matriz de casos y toda esta documentación navegable como HTML (se regenera desde el repositorio en cada push a main).

Nota

¿Qué significa "🛡️ Security: Hardened"? Este repositorio implementa una política de Aislamiento Runtime: Todos los servicios están limitados a localhost, usan imágenes base seguras con escaneos de vulnerabilidades manuales (Trivy) y no contienen secretos hardcodeados, mitigando riesgos de cadena de suministro.


📋 Tabla de Contenidos#


🚀 Quickstart#

Consejo

Este repositorio está diseñado para ejecutarse exclusivamente en un entorno de desarrollo local (localhost).

1. Modo Seguro por Defecto (Default)#

bash
cp .env.example .env
docker-compose up -d

Este comando levanta el núcleo del laboratorio:

  • 🌐 n8n: http://localhost:5678
  • 🖥️ Master Dashboard: http://localhost:8080 (con detección automática de casos OFFLINE/READY, contadores en vivo, modal con docker-compose --profile caseXX up -d para levantar lo que falte y badges de RAM por caso — v4.3.0)
  • 🔒 Seguridad: Puertos bindeados solo a 127.0.0.1.

2. Demo Local Completa (Mode: Full)#

bash
cp .env.demo.example .env
make up

make up activa el perfil full, activando todos los casos y servicios de observabilidad (Prometheus/Grafana).


🧩 Casos de Integración (Tech Matrix)#

El ecosistema demuestra cómo n8n puede actuar como un puente agnóstico entre cualquier tecnología.

ID📤 Origen (Emisor)🌉 Puente📥 Destino (Receptor)📁 Persistencia🏷️ Perfil📐 Diagrama
01Python (Pydantic)n8nPHP Vanilla🐬 MySQLcase01📐 Ver
02Pythonn8nGo (Fiber/Gin)🍃 MariaDBcase02📐 Ver
03Gon8nNode / Express🐘 PostgreSQLcase03📐 Ver
04Node.jsn8nFastAPI📂 SQLitecase04📐 Ver
05Laraveln8nReact / Node🍃 MongoDBcase05📐 Ver
06Gon8nSymfony🏎️ Rediscase06📐 Ver
07Rustn8nRuby (Sinatra)👁️ Cassandracase07📐 Ver
08C# (.NET)n8nFlask🏢 SQL Servercase08📐 Ver
09Pythonn8nFastAPI Gateway🦆 DuckDBcase09📐 Ver
10Java (Spring)n8nKotlin (Ktor)🐘 PostgreSQLcase10📐 Ver
11Elixirn8nErlang (Cowboy)🟣 Mnesiacase11📐 Ver
12Python (LLM)n8nFastAPI RAG🧠 pgvectorcase12📐 Ver
13Node + Kafkan8nGo consumer📊 ClickHousecase13📐 Ver
14Next.js 15n8nSupabase (PostgREST)🟢 Postgres + RLScase14📐 Ver
15Go (gRPC)n8nPython (gRPC)🪳 CockroachDBcase15📐 Ver
16Apollo (GraphQL)n8nHasura📈 TimescaleDBcase16📐 Ver
17Rust (MQTT)n8nNode + InfluxDB📊 InfluxDBcase17📐 Ver
18Zign8nCrystal (Kemal)🕸️ Neo4jcase18📐 Ver
20Swiftn8nDart (Shelf)🔥 Firestore (emu)case20📐 Ver

Consejo

Lote 1 (v4.5.0): 11, 16, 17. Lote 2 (v4.6.0): 10, 12, 18. Lote 3 (v4.7.0): 15, 20. Lote 4 (v4.8.0): 13, 14. Auditoría Docker (v4.9.0): los 19 casos verificados end-to-end uno a uno con Docker (persistencia real por cada motor), corrigiendo bugs reales de arranque y de healthcheck — detalle en docs/AUDIT_v4.9.0.md. 19 de 20 casos operativos vía docker-compose --profile caseNN up -d. Puertos por la regla 8080 + id (ver docs/PORTS.md).

🧪 Único caso pendiente#

ID📤 Origen (Emisor)🌉 Puente📥 Destino (Receptor)📁 Persistencia📌 Estado
19F# (.NET)n8nClojure (Ring)XTDB🧪 Código listo, verificación pendiente

Nota

El caso 19 tiene el código completo (bug de arranque AOT ya corregido) pero queda pendiente de verificación end-to-end. Ver docs/PLANNED_CASES.md y ROADMAP.md.


🛡️ Modelo de Seguridad Runtime#

Importante

A partir de la v4.2.0, el laboratorio ha pasado por una auditoría completa de 8 capas (contenedor, red, credenciales, servidor web, herramientas, autenticación, CI/CD y cadena de suministro).

✅ Qué está protegido#

  • Binding de Red: Todos los contenedores se publican únicamente en 127.0.0.1.
  • Secretos: Contraseñas y API Keys gestionadas vía .env, nunca hardcodeadas. Gitleaks detecta fugas en el historial.
  • Opt-in Observability: Grafana y Prometheus solo se activan con --profile observability.
  • HTTP Security Headers: Todos los servicios Apache sirven X-Frame-Options, X-Content-Type-Options, Content-Security-Policy, Referrer-Policy y Permissions-Policy. Listado de directorios deshabilitado.
  • Caddy Edge Proxy: HTTPS + Basic Auth + HSTS + CSP + Permissions-Policy completos.
  • Supply Chain: Trivy v0.35.0, pip-audit, Gitleaks, detección de Unicode bidi (CVE-2021-42574) y ofuscación base64 en CI.
  • Dependabot: PRs automáticos para 12 manifiestos en 6 ecosistemas (pip, docker, gomod, cargo, npm —rastrea los pnpm-lock.yaml—, github-actions).
  • Line endings: .gitattributes garantiza LF en scripts shell para evitar bad interpreter en contenedores Linux.
  • Proceso no-root: Todos los contenedores corren como usuario sin privilegios.

🏢 Superficies de Riesgo (No exponer a Internet)#

ServicioPuertoRiesgo
n8n5678Alto (Orquestación maestra)
Grafana3000Medio (Métricas y visualización)
Dashboards8080-8100Bajo (Visualización de casos)
cAdvisor9091Muy Alto (Monta /var/run/docker.sock)

🏗️ Arquitectura y Patrones#

El sistema no es solo una integración; es un catálogo vivo con 11 patrones arquitectónicos:

  1. Microservicios: 40+ contenedores independientes.
  2. Event-Driven: Comunicación 100% vía Webhooks.
  3. Mediador: n8n centraliza la lógica empresarial.
  4. Resiliencia: Idempotencia, Circuit Breaker y DLQ.
  5. Persistencia Políglota: 18+ motores de bases de datos distintos.
  6. ...y más! Lee el detalle en docs/ARCHITECTURE.md.

⚙️ Comandos Útiles#

ComandoAcción
make upLevanta demo completa (full)
make up-secureLevanta core mínimo y seguro
make demoLanza una prueba del Caso 01
make doctorDiagnóstico de salud del entorno
python verify_n8n.pyVerifica workflows instalados

📚 Documentación Relacionada#

TipoDocumento
🛡️ SeguridadSECURITY.md | docs/RUNTIME_SECURITY.md
🏗️ Arquitecturadocs/ARCHITECTURE.md
☁️ Migración a AWSdocs/AWS_MIGRATION.md
🎓 Guíasdocs/INSTALL.md | docs/VERIFICATION_GUIDE.md
🛠️ Operacióndocs/TROUBLESHOOTING.md | n8n/README.md
🛣️ ProgresoROADMAP.md
🌐 Sitio publicadovladimiracunadev-create.github.io/social-bot-scheduler

Coded with ❤️ by Vladimir Acuña