Sobre el proyecto
PlaylistPillar es un motor de catálogo musical autoalojado distribuido como una aplicación basada en Docker. Su objetivo declarado es convertir listas de reproducción de plataformas de streaming en archivos locales duraderos y navegables, preservando el contexto de una lista de reproducción en lugar de tratar las pistas como archivos desechables.
Enfoque principal
- Archivado con metadatos primero: las exportaciones se describen como incluyendo etiquetas ID3 incrustadas, portadas de álbum (JPEG/PNG) e información de año de lanzamiento, con referencias cruzadas contra bases de datos de discografías públicas como MusicBrainz y Discogs.
- Preservación de la estructura: se conserva el orden original de la lista de reproducción, los metadatos de las pistas y las portadas, de modo que una copia local sigue mostrando portada, artista, álbum y número de pista incluso si una pista desaparece posteriormente de un servicio de streaming.
- Motor de diff de listas de reproducción: una lista de reproducción previamente archivada puede volver a escanearse para ver qué pistas fueron eliminadas, añadidas o modificadas desde la última exportación.
Despliegue e interfaz
- Nativo de Docker: se ejecuta en cualquier entorno Docker mediante una única configuración compose.yaml, sin dependencias a nivel de sistema descritas.
- Panel web responsive: gestiona archivos, visualiza el uso de almacenamiento y navega por las listas de reproducción importadas desde cualquier dispositivo.
- Interfaz multilingüe: el panel y los registros de exportación se listan como disponibles en inglés, español, francés, alemán, japonés y portugués.
- Worker en segundo plano: las listas de reproducción en cola se procesan con limitación de tasa, reintentos y seguimiento de progreso sin bloquear la sesión del navegador.
Detalles de exportación y almacenamiento
- Formatos de exportación: carpetas estructuradas (Artista / Álbum / Pista.mp3) o un único paquete comprimido .pillar con metadatos incrustados.
- Estimaciones de almacenamiento indicadas en el README: aproximadamente 80-120 MB por hora de música a 320 kbps, más 1-3 MB por álbum para portadas; una lista de 50 canciones suele usar 300-450 MB.
- Notas técnicas: cola de solicitudes con token-bucket, SQLite por defecto con PostgreSQL opcional, portadas de álbum comprimidas a WebP con respaldo PNG, y checksums SHA-256 registrados en un manifiesto sidecar para verificación de integridad.
Inicio rápido
1. Configurar el entorno: proporcionar un token de API de plataforma de streaming opcional para un enriquecimiento de metadatos más rápido y establecer el volumen de almacenamiento en compose.yaml.
2. Iniciar el panel, luego pegar un enlace de lista de reproducción o subir un archivo .txt que contenga URLs.
3. El sistema procesa las pistas en segundo plano, preservando portadas y metadatos, y notifica a través del panel cuando el archivo está listo.
Estructura del repositorio
El README describe un backend (Python, Flask + Celery) con workers, modelos y un enriquecedor de metadatos; un frontend en Vue.js con componentes y archivos de locale; archivos Docker; documentación; pruebas; y una licencia MIT.
Los elementos de la hoja de ruta mencionados para 2026 incluyen asistentes de importación por lotes, etiquetado con IA sin conexión para sugerencias de género y estado de ánimo, replicación automática semanal de listas de reproducción y una aplicación móvil complementaria.
Soporte y cumplimiento
El README anuncia un módulo de diagnóstico que genera una instantánea lista para soporte de configuración, registros, estado de los contenedores y estado de la red, con un tiempo de respuesta típico declarado inferior a dos horas y chat en vivo durante el horario laboral. También indica que los tokens de API se cifran en reposo con AES-256 y nunca se registran, y que las búsquedas anónimas de metadatos públicos son una opción. Un aviso legal señala que el proyecto está destinado al uso de archivo personal y no elude restricciones geográficas, DRM ni niveles de suscripción, siendo los usuarios responsables de cumplir con los términos de servicio de las plataformas integradas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.