lumen
Servicio de streaming musical auto-alojado con acceso por invitación. Soporta clientes web (React/Next.js), escritorio (Electron) y móvil (Expo). Integra archivos locales y TIDAL vía proxy hifi-api.
Ficha actualizada 22 sept 2026, 17:56 · upstream 22 sept 2026, 15:46 · release sin release detectada
Qué es lumen
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Lumen es un servicio de biblioteca musical auto-alojada con registro exclusivo por invitación. Proporciona interfaz web, aplicaciones de escritorio para Windows/macOS/Linux y apps móviles iOS/Android. El backend está escrito en Go con PostgreSQL como base de datos principal.
La plataforma indexa carpetas de archivos de audio mediante watchers del sistema de archivos, permite reproducción con range-request para scrubbing instantáneo, gestión de listas de reproducción colaborativas, estadísticas de escucha anuales (Replay) y enlaces públicos compartibles con previews embebidos. Incluye integración opcional con TIDAL a través de un proxy interno que reescribe manifiestos de streaming sin descargar contenido local.
El despliegue utiliza Docker Compose con servicios para PostgreSQL, backend Go, frontend React/Next.js y el sidecar hifi-api para TIDAL. Los datos se almacenan en volúmenes bind-mounted (/mnt/music) y la base de datos en ./pgdata. La configuración requiere variables de entorno como POSTGRES_PASSWORD, COVER_SIGN_KEY y credenciales TIDAL.
- Auto-alojamiento de biblioteca musical personal sin depender de servicios comerciales
- Streaming compartido entre múltiples dispositivos con sincronización de cola y reproducción remota
- Integración híbrida con archivos locales y catálogo TIDAL en una misma interfaz
- Gestión colaborativa de listas de reproducción con roles y permisos definidos por invitación
- Generación de enlaces públicos compartibles para compartir música en redes sociales o Discord
- Replay anual con estadísticas de escucha, gráficos animados e imagen compartible de top canciones
- Arquitectura modular con backend Go independiente del frontend React/Next.js
- Integración TIDAL vía proxy sin OAuth ni exposición de credenciales a clientes
- Streaming con range-request para scrubbing instantáneo sin buffering completo
- Soporte multiplataforma: web, Electron (Windows/macOS/Linux), Expo (iOS/Android)
- Enlaces públicos HMAC-signados que no requieren sesión pero previenen falsificación
- Importación automática desde fuentes externas (Filen, ArtistGrid, Lastshare) con intervalos de polling
- Acceso restringido a invitación — requiere administrador para generar tokens con rol y caducidad
- TIDAL proxy depende de cuenta suscrita en país configurado (TIDAL_COUNTRY_CODE)
- Puertos backend/frontend solo binden a loopback por defecto, requiere reverse proxy para internet
- La caché de transcodificación usa volumen Docker; mounts directos pueden fallar por permisos del usuario no-root
- Requiere configuración manual de .env con POSTGRES_PASSWORD y COVER_SIGN_KEY antes del despliegue
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.
Copiar .env.example a .env y configurar POSTGRES_PASSWORD, COVER_SIGN_KEY, ADMIN_PASSWORD opcional. Ejecutar docker compose up -d --build. Asegurar que MUSIC_HOST_PATH apunte a carpeta con archivos de audio. Para TIDAL: crear ./tidal-hifi con chown 1000:1000, configurar HIFI_API_PORT=8000 y TIDAL_COUNTRY_CODE. Usar reverse proxy (nginx) con docs/nginx.conf.example para HTTPS y TRUSTED_PROXIES=172.16.0.0/12 en .env.
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.