Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
01

Perfil de infraestructura

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

CPU4 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

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

Listo para automatizar

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.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsReactNode.jsPython
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
5432808080008081
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.