Centro de música todo en uno en un solo contenedor Docker - Reseña de lxserver
Un escenario conocido: quieres escuchar música, pero una app no se lleva bien con otra, tus playlists favoritas están dispersas en diferentes servicios, y el cliente de escritorio consume la mitad de tu RAM. Generalmente en casos así, o nos conformamos o empezamos a armar un desastre de soluciones improvisadas. El proyecto lxserver ofrece un camino más elegante: levanta tu propio servidor que una diferentes fuentes de música en una interfaz conveniente.
Qué es esto
lxserver es una versión extendida de servidor del popular reproductor LX Music. Básicamente, es una aplicación Node.js que combina un servidor de sincronización de datos y un reproductor web completo. Mientras que LX Music era principalmente una solución de escritorio, ahora puedes desplegarlo en un servidor casero o VPS y acceder a tu biblioteca multimedia desde cualquier navegador.
Curiosamente, el autor no solo hizo "otro reproductor más" — añadió soporte para el protocolo Subsonic. Esto significa que puedes conectar apps móviles como Feishin o "音流" a tu servidor y escuchar música en tu smartphone como si estuviera almacenada localmente.
Qué lo hace genial en la práctica
Lo primero que llama la atención es la interfaz. Es limpia, moderna y no está saturada de detalles innecesarios. Pero el diablo, como siempre, está en los detalles. Aquí van algunas cosas que me resultaron más útiles.
Búsqueda versátil y gestión de playlists
El problema con muchos reproductores autohospedados es que solo pueden reproducir lo que has descargado cuidadosamente al disco. lxserver puede agregar búsquedas entre diferentes plataformas. Simplemente escribes el nombre de una banda y ves resultados de múltiples fuentes a la vez. Las pistas que te gustan se pueden combinar en playlists, reordenar con arrastrar y soltar, o editar en masa en la cola de reproducción.
Automatización de caché
El punto débil de cualquier reproductor online es una conexión a internet deficiente. Los desarrolladores de lxserver implementaron un sistema de caché automático. El reproductor guarda letras, enlaces y archivos de audio por sí mismo. La configuración incluye un panel dedicado de gestión de caché donde puedes establecer límites (por defecto es 2 GB) y monitorear cuánto espacio están ocupando tus álbumes favoritos.
Compartir en redes y temas
Un detalle pequeño pero agradable: el reproductor tiene una función para crear tarjetas con citas de canciones. Puedes elegir formato vertical o cuadrado, personalizar los colores para que combinen con la portada del álbum, y guardar la imagen para compartir en redes sociales. También añadieron varios temas con nombres poéticos como "Sea Shark" o "Crimson Moon."

Detalles técnicos
El proyecto está escrito en Node.js y usa Express para el backend. WebSocket funciona internamente para operación en tiempo real. La arquitectura está dividida en tres partes:
- Backend central responsable de la sincronización y WebDAV.
- Consola de gestión (panel de administración).
- El reproductor web en JavaScript puro.
Para quienes se preocupan por la seguridad, el autor incluyó autorización. El acceso al reproductor puede estar protegido con contraseña a través de variables de entorno. Esto es especialmente relevante si estás exponiendo el servidor al mundo exterior.
Configuración a través del entorno
En lugar de profundizar en config.js, la forma más fácil de configurar el servidor es a través de variables. Las más útiles:
ENABLE_WEBPLAYER_AUTH: habilita el inicio de sesión protegido con contraseña.WEBPLAYER_PASSWORD: la contraseña en sí.CACHE_SIZE_LIMIT: para que el servidor no llene todo el disco con archivos temporales.
Cómo empezar
La forma más rápida es con Docker. El autor ha preparado imágenes listas en Docker Hub y GitHub Packages. Aquí hay un ejemplo de un docker-compose.yml simple que levantará todo lo que necesitas:
version: '3'
services:
lx-sync-server:
image: xcq0607/lxserver:latest
container_name: lx-sync-server
restart: unless-stopped
ports:
- "9527:9527"
volumes:
- ./data:/server/data
- ./cache:/server/cache
- ./music:/server/music
environment:
- NODE_ENV=production
- ENABLE_WEBPLAYER_AUTH=true
- WEBPLAYER_PASSWORD=секретный_пароль
Después del inicio, el panel de administración estará disponible en http://your-ip:9527, y el reproductor en sí en http://your-ip:9527/music.

Matices y limitaciones
Vale la pena señalar que el proyecto está en desarrollo activo, y la documentación (especialmente en inglés) es algo escasa en algunos lugares. La mayoría de los ajustes son intuitivos, pero si quieres una personalización profunda de las fuentes, necesitarás entender el sistema de scripting.
Por defecto, el proyecto tiene telemetría anónima de PostHog habilitada para recopilar errores y notificaciones de actualizaciones. Si eres paranoico, puedes desactivarla con el parámetro DISABLE_TELEMETRY=true, pero entonces no sabrás cuándo sale una nueva versión directamente en la interfaz.
lxserver es un gran hallazgo para cualquiera que quiera organizar su vida musical sin estar atado a un dispositivo específico o suscripción de pago. Es ligero, se levanta rápidamente en Docker, y cubre la mayoría de las necesidades de un amante típico de la música.
Quién debería probarlo:
- Quienes ya usan LX Music de escritorio y quieren sincronización.
- Dueños de servidores caseros que buscan una alternativa ligera a los pesados Plex o Jellyfin para música.
- Entusiastas de la personalización y fans de clientes móviles de terceros.
El proyecto se ve vivo, los commits llegan regularmente, y el conteo de estrellas en GitHub crece constantemente. Parece que es hora de hacer espacio en el servidor para la música.
Proyectos relacionados