spindle
Dashboard autoalojado para Navidrome que muestra estadísticas de escucha (artistas, álbumes, sesiones) con frontend Vue y backend Node/Rust. Incluye visualizaciones SVG manuales e importación de historial de Spotify/Last.fm.
Ficha actualizada 26 sept 2026, 1:07 · upstream 26 sept 2026, 0:39 · release v0.4.0
Qué es spindle
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Spindle es un panel de control autoalojado para servidores Navidrome que transforma datos de escucha en estadísticas visuales. Utiliza una arquitectura modular con un plugin en Rust (WASM) para capturar eventos, un backend en Node.js/Fastify con SQLite y un frontend en Vue 3/Tailwind. Permite importar historial desde Spotify o Last.fm para visualizar tendencias temporales como 'Spotify Wrapped'.
El sistema gestiona múltiples usuarios mediante un selector de perfil, ofreciendo visualizaciones detalladas como gráficos de flujo (streamgraph), mapas de calor semanales y sesiones de escucha. Incluye un reproductor integrado que permite reproducir contenido directamente desde Navidrome sin salir del dashboard.
La instalación se realiza mediante una imagen Docker única que agrupa frontend y API, facilitando la gestión junto al contenedor de Navidrome. Soporta autenticación básica y exportación de tokens para integración con widgets externos.
- Visualizar estadísticas de escucha personal (artistas, álbumes, sesiones)
- Importar e integrar historial de Spotify o Last.fm
- Compartir enlaces efímeros de pistas o listas de reproducción
- Usar como widget API en dashboards externos
- Gestionar múltiples usuarios con un solo punto de acceso
- Frontend Vue 3 + Tailwind v4 con visualizaciones SVG manuales
- Backend Fastify + SQLite para cálculos en tiempo real
- Plugin de scrobbling en Rust compilado a WASM
- Importación de historial desde Spotify/Last.fm y Navidrome
- Reproducción nativa integrada sin salir del dashboard
- Requiere instancia propia de Navidrome para funcionar
- Autenticación global (un usuario) en lugar de login individual por cuenta
- Dependencia de WASM para el plugin de scrobbling
- No soporta One-Click deploy nativo, requiere Docker Compose manual
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.
Despliegue vía Docker Compose junto a Navidrome. Montar navidrome.db en modo read-only y configurar INGEST_SECRET. Generar hash de contraseña con CLI incluida. Requiere Node 20+ para desarrollo local. Soporta token de lectura separado (SPINDLE_READ_TOKEN) para widgets externos sin login.
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.


