Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

GitLabTeamPulse

Panel de control centrado en personas para GitLab auto-gestionado. Muestra issues, MRs y epics de usuarios seleccionados con caché SQLite que sobrevive a interrupciones. FastAPI, sin build JS, Docker en GHCR.

Ficha actualizada 24 sept 2026, 8:34 · upstream 24 sept 2026, 8:29 · release v0.2.8

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es GitLabTeamPulse

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

GitLab Team Pulse es un panel de control diseñado específicamente para instancias de GitLab auto-gestionadas. Permite seleccionar un conjunto de cuentas y visualizar sus issues asignados, solicitudes de fusión (MRs) y epics en cualquier estado, junto con las últimas 12 acciones, actividad de 7 días y registros temporales reales.

El sistema utiliza una caché SQLite que mantiene los datos conocidos como buenos a través de interrupciones del servicio. Cuando GitLab es inaccesible, el panel muestra los últimos datos válidos marcados con iconos y etiquetas de texto, explicando el problema en un panel de diagnóstico. La arquitectura está construida con FastAPI y Python 3.12+, sin necesidad de compilación de JavaScript.

La aplicación incluye modo demo con GitLab falso para pruebas sin infraestructura real, soporte Docker/Compose, múltiples niveles de configuración mediante variables de entorno, y políticas de retención que nunca eliminan el único snapshot válido incluso después de días de interrupción.

CASOS DE USO
  • Visualizar actividad reciente de desarrolladores clave en equipos distribuidos
  • Monitorear carga de trabajo sin sobrecargar la API de GitLab con consultas directas
  • Identificar cuellos de botella mediante gráficos de tiempo registrado por proyecto
  • Auditar contribuciones del equipo durante periodos de inactividad de GitLab
  • Demostrar productividad real basada en logs temporales, no estimaciones
PUNTOS DESTACADOS
  • Caché SQLite con estrategia last-known-good que sobrevive a interrupciones prolongadas
  • 99% de cobertura de código con pruebas unitarias, integración y E2E
  • Sin dependencias Node.js ni build de JavaScript - HTML/CSS/ES modules nativos
  • API GraphQL para timelogs requiere permisos admin en algunas versiones de GitLab
  • Polling automático cada 20 segundos con coalescing de actualizaciones manuales
  • Modo demo funcional sin GitLab real para desarrollo y pruebas
PRECAUCIONES
  • Requiere token con scope read_api (recomendado admin) para ver cuentas bloqueadas/desactivadas
  • La consulta GraphQL timelogs puede necesitar permisos admin en versiones específicas de GitLab
  • Solo compatible con instancias auto-gestionadas, no GitLab.com
  • Dependencia de SQLite - no soporta bases de datos distribuidas o replicación
  • Requiere Python 3.12+ y FastAPI 0.141.1 o superior
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Dashboard (light)Dashboard (dark)People viewOutage with diagnostics
01

Perfil de infraestructura

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

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

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

Listo para automatizar

Para producción: usar Docker Compose con volumen persistente para teampulse-data, secret file para token (no variable de entorno), verificar TLS y CA bundle si es on-premise. Configurar TEAMPULSE_GITLAB_CONCURRENCY=4 como máximo, timeout 20s con retries 3. Imagen en GHCR: ghcr.io/marcelpetrick/gitlabteampulse:latest. Port 8000 expuesto. Healthcheck en /api/health.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
Node.jsFastAPIPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
8000
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.