open-setlist-stash
Aplicación web auto-alojable para juegos de predicción de setlists musicales que utiliza el Protocolo de Contexto del Modelo (MCP) para leer datos en lugar de almacenarlos, construida con FastAPI y PostgreSQL.
Ficha actualizada 25 sept 2026, 13:29 · upstream 25 sept 2026, 13:08 · release v0.3.0
Qué es open-setlist-stash
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
open-setlist-stash es una aplicación web auto-alojable diseñada para crear juegos de predicción de setlists musicales. La arquitectura se basa en FastAPI con Python 3.13 y utiliza PostgreSQL exclusivamente para el estado del juego, mientras que los datos del setlist se acceden a través del Protocolo de Contexto del Modelo (MCP) desde servidores externos. Este enfoque desacoplado permite utilizar la misma imagen de contenedor para diferentes bandas como Phish o Umphrey's McGee simplemente cambiando la configuración del entorno y el servidor MCP correspondiente.
El sistema soporta renderizado server-side con HTMX y Jinja2, eliminando la necesidad de pasos de compilación complejos típicos de aplicaciones SPA. Incluye autenticación mediante OAuth de Google, gestión de sesiones seguras con cookies cifradas, y personalización completa de marca a través de variables de entorno y archivos CSS montados. La aplicación incluye un sistema de puntuación en tiempo real que actualiza los rankings durante el show una vez detectado el encore y estabilizado el conteo de canciones.
La seguridad está integrada mediante escaneo Trivy en la imagen construida, validación estricta de tipos con mypy, y políticas de configuración que impiden el arranque en producción si SESSION_SECRET no está configurado correctamente. El proyecto incluye soporte para ligas privadas, comentarios por show, blog opcional con frontmatter Markdown, y exposición pública de datos a través de endpoints MCP rate-limited.
- Crear ligas de predicción personalizadas para conciertos específicos como Phish o Umphrey's McGee sin necesidad de forking el código
- Implementar sistemas de votación en tiempo real durante shows en vivo con puntuación automática basada en setlists parciales
- Exponer datos de setlist públicamente a través de endpoints MCP para integración con otras herramientas o clientes externos
- Personalizar completamente la identidad visual y marca mediante configuración de entorno y archivos CSS montados sin modificar el código fuente
- Arquitectura desacoplada que evita forks por banda, permitiendo usar la misma imagen para múltiples artistas con solo cambiar variables de entorno
- Uso de MCP para acceso a datos del setlist sin almacenamiento directo, reduciendo la superficie de ataque y simplificando actualizaciones de datos
- Soporte nativo para autenticación OAuth de Google y gestión de sesiones seguras con validación estricta de configuración en producción
- Despliegue simplificado con Docker Compose incluyendo escaneo Trivy, validación ruff y pruebas pytest contra PostgreSQL real
- Renderizado server-side con HTMX que elimina la necesidad de pasos de compilación complejos típicos de aplicaciones SPA modernas
- Dependencia obligatoria de un servidor MCP externo para los datos del setlist, lo que significa que no puede funcionar sin una fuente de datos configurada correctamente
- Configuración manual requerida para variables de entorno críticas como SESSION_SECRET en entornos de producción para evitar vulnerabilidades de seguridad
- Falta de soporte nativo para bases de datos alternativas a PostgreSQL, limitando la portabilidad del estado del juego
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Utilizar Docker Compose con las imágenes oficiales o construir localmente. Asegurar que SESSION_SECRET esté configurado con un valor seguro único en entornos de producción. Configurar COOKIE_SECURE=true cuando se utilice HTTPS. Montar volúmenes separados para contenido del blog y assets CSS personalizados. Soporta despliegue en redes privadas LAN, a través de Tailscale o públicamente detrás de un túnel Cloudflare.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
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.

