Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

multitenant-elt

Pipeline multi-tenant para marketing con 10 conectores (Meta Ads, TikTok Ads, Google Ads, Facebook, Instagram, TikTok Orgánico, YouTube, Pinterest, GA4, GTM), transformación de datos en PostgreSQL 16 y visualización en Metabase.

Ficha actualizada 22 sept 2026, 20:54 · upstream 22 sept 2026, 20:25 · release v1.1.2

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es multitenant-elt

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

El pipeline multitenant-elt es una solución para agencias digitales que gestionan múltiples clientes. Extrae datos de 10 plataformas publicitarias (Meta Ads, TikTok Ads, Google Ads, Facebook Pages, Instagram Business, TikTok Orgánico, YouTube Data, Pinterest) y los transforma mediante 35 modelos dbt en un esquema normalizado por cliente. Los resultados se visualizan en Metabase sin necesidad de hojas de cálculo manuales. El pipeline incluye validación de calidad, alertas Telegram y dashboards personalizados por cliente.

CASOS DE USO
  • Automatizar la extracción y transformación de datos de marketing para múltiples clientes
  • Generar reportes mensuales con un solo pipeline sin necesidad de hojas de cálculo manuales
  • Visualización en Metabase de métricas de rendimiento publicitario por cliente
  • Aislamiento de datos por tenant mediante namespaces per-tenant y schemas dbt
  • Monitoreo de calidad del pipeline con validaciones de 228 tests automatizadas
  • Alertas en Telegram sobre el estado del pipeline y alertas de conectores no disponibles
PUNTOS DESTACADOS
  • Soporte honesto de conectores: se reportan explícitamente los que requieren validación live (TikTok Ads, Google Ads, TikTok Orgánico, Pinterest, GA4, GTM) versus los con tests unitarios y modelos dbt completos
  • Diseño multitenant por defecto con namespaces per-cliente en PostgreSQL 16 y schemas dbt separados por tenant
  • Configuración sin código de conectores: se añaden o eliminan plataformas mediante YAML, permitiendo cambios rápidos sin recompilación
  • Orquestación del pipeline vía cron jobs con validaciones de Docker health checks y alertas Telegram
  • Arquitectura modular con 10 scripts dlt independientes por plataforma, cada uno con manejo de límites de tasa y token expirados
PRECAUCIONES
  • Los conectores TikTok Ads, Google Ads, TikTok Orgánico, Pinterest, GA4 y GTM no han sido validados contra APIs en producción; requieren pruebas manuales antes del despliegue
  • Instagram Business requiere tokens específicos (no User Tokens) para ciertas métricas como insights_daily e insights_totals
  • YouTube API tiene un límite de 10k unidades diarias por cliente, lo que puede afectar la frecuencia de extracción
  • Metabase no está incluido en el stack por defecto y debe activarse mediante un perfil compose separado con credenciales adicionales
  • El pipeline actual es monolítico; escalabilidad horizontal a múltiples pipelines independientes requiere refactorización del código
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

Para desplegar, ejecuta `make docker-up-all` que inicia PostgreSQL 16, el worker de dlt/pipeline y Metabase. Usa un solo contenedor para cada servicio con redes separadas (agency_analytics_net, agency_internal_net). Para producción, usa imágenes publicadas en ghcr.io/developmi/multitenant-elt:vX con cosign-signed y SBOMs. No se recomienda usar `docker run` directamente; el modo recomendado es mantener los contenedores en Compose para facilitar la gestión de env vars, redes y volúmenes compartidos.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Python
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
3000
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.