Transición de servicios de streaming de música a una plataforma de música autoalojada

Si bien es fácil cambiar entre plataformas de streaming de TV y películas gracias a la gran cantidad de alternativas gratuitas, no ocurre lo mismo con los servicios de streaming de música. Estos servicios implican elementos complejos como descubrir nuevas pistas, gestionar metadatos, crear listas de reproducción y garantizar la sincronización entre dispositivos. Además, mantener una biblioteca de música en el disco duro requiere cierto nivel de dedicación. Sin embargo, he encontrado una combinación de herramientas que funciona excepcionalmente bien para mis necesidades de streaming de música. A continuación, encontrarás una guía completa para ayudarte a configurar tu propio streaming de música.

Todo servicio de streaming de música se basa en una robusta arquitectura de backend. Plataformas como Spotify, Apple Music y YouTube Music dependen de una extensa infraestructura para gestionar las bibliotecas de los usuarios, gestionar metadatos y facilitar la transmisión de audio fluida. Al crear tu propia plataforma de streaming de música, Navidrome es ese componente esencial del backend.

Navidrome, como servidor de música autoalojado, escanea y organiza sistemáticamente tu biblioteca musical, a la vez que proporciona una interfaz de streaming compatible con aplicaciones web, de escritorio y móviles. Gracias a su compatibilidad con la API Subsonic, puedes conectarte a reproductores innovadores que ofrecen una experiencia de usuario comparable a la de Spotify.

Página de inicio de sesión de Navidrome

Para un uso óptimo, es recomendable utilizar Docker Compose, especialmente si está considerando expandir su pila con herramientas de automatización como Lidarr y varios clientes de descarga en el futuro.

Esta guía utiliza un entorno Mac para la demostración; sin embargo, los pasos son consistentes para los usuarios de Linux y sencillos también para Windows.

Antes de instalar Navidrome, es fundamental establecer una estructura de carpetas bien organizada para gestionar eficazmente sus archivos de música, descargas y datos de servicio. Puede iniciar esto abriendo la Terminal e introduciendo el siguiente comando:

mkdir -p ~/docker/music-servercd ~/docker/music-servermkdir -p musicmkdir -p downloadsmkdir -p compose

La carpeta de música albergará tus archivos de audio, mientras que la carpeta de descargas facilitará la automatización en el futuro. Ahora, navega al directorio de composición escribiendo:

cd ~/docker/music-server/compose

Cree su archivo Docker Compose ejecutando:

nano docker-compose.yml

Inserte la siguiente configuración en su archivo:

services: navidrome: image: deluan/navidrome:latest container_name: navidrome ports: - "4533:4533" volumes: - navidrome_data:/data -../music:/music restart: unless-stoppedvolumes: navidrome_data:

Después de guardar el archivo, inicie Navidrome ejecutando:

docker compose up -d

Este comando descargará la imagen de Navidrome e iniciará automáticamente el contenedor. Para acceder a ella, abra su navegador web y vaya a http://localhost:4533.

Se le solicitará que cree una cuenta de administrador. Una vez iniciada la sesión, Navidrome escaneará automáticamente su carpeta de música. Si ya tiene archivos de música, se integrarán en su biblioteca de inmediato.

Página de inicio de Navidrome

¡Felicitaciones! Ya tienes un sistema de streaming de música completamente funcional en tu equipo local. Sube archivos de música en formatos como FLAC o MP3 y Navidrome los reproducirá cuando quieras.

Sin embargo, aunque Navidrome funciona como backend, carece de una interfaz de usuario atractiva que pueda competir con plataformas como Spotify. Para mejorar tu experiencia de streaming, necesitarás integrar una mejor solución frontend.

Integración de Feishin para una experiencia de usuario mejorada

Aunque Navidrome ofrece una interfaz web integrada, prioriza la funcionalidad sobre la estética. Si bien cumple su función, no cumple las expectativas de los usuarios de los servicios de streaming modernos.

Aquí es donde entra Feishin. Es un reproductor elegante y dedicado, compatible con Subsonic, que ofrece una interfaz moderna con animaciones fluidas y una gestión de colas robusta. Feishin se parece mucho a Spotify y admite funciones como álbumes, artistas, listas de reproducción y controles de reproducción intuitivos.

Es importante destacar que Feishin se conecta perfectamente a Navidrome, lo que permite la transmisión instantánea de música. Para instalar Feishin, revise su archivo Docker Compose y modifíquelo para incluirlo:

services: navidrome: image: deluan/navidrome:latest container_name: navidrome ports: - "4533:4533" volumes: - navidrome_data:/data -../music:/music restart: unless-stopped feishin: image: ghcr.io/jeffvli/feishin:latest container_name: feishin ports: - "9180:9180" restart: unless-stoppedvolumes: navidrome_data:

Una vez que hayas agregado Feishin, inícialo ejecutando:

docker compose up -d

Tras iniciar Feishin, abra su navegador y navegue a http://localhost:9180. Configúrelo para conectarse a Navidrome seleccionando Subsonic como tipo de servidor e ingresando la dirección de Navidrome http://localhost:4533 si el servidor es local. Inicie sesión con las credenciales creadas durante la configuración de Navidrome.

Página de inicio de Feishin

Al establecer la conexión, Feishin cargará automáticamente toda tu biblioteca de música, incluidos tus artistas, álbumes y listas de reproducción.

Optimice la gestión de su biblioteca con Lidarr

Gestionar una biblioteca musical manualmente puede volverse tedioso rápidamente, pero integrar Lidarr simplifica considerablemente la tarea. Lidarr automatiza la gestión monitorizando a los artistas que sigues, buscando y descargando automáticamente sus álbumes y organizándolos en tu biblioteca musical. Al añadir nuevas canciones, Navidrome las detecta al instante y aparecen en Feishin sin problemas.

Opciones de la página de inicio de Lidarr

Edite su archivo Docker Compose una última vez para incorporar Lidarr:

services: navidrome: image: deluan/navidrome:latest container_name: navidrome ports: - "4533:4533" volumes: - navidrome_data:/data -../music:/music restart: unless-stopped feishin: image: ghcr.io/jeffvli/feishin:latest container_name: feishin ports: - "9180:9180" restart: unless-stopped lidarr: image: linuxserver/lidarr:latest container_name: lidarr ports: - "8686:8686" volumes: - lidarr_config:/config -../music:/music -../downloads:/downloads restart: unless-stoppedvolumes: navidrome_data: lidarr_config:

Inicie Lidarr ingresando:

docker compose up -d

Luego, en tu navegador, accede a http://localhost:8686. Desde la interfaz, puedes empezar a añadir a tus artistas favoritos y Lidarr se encargará de gestionar tu biblioteca sin necesidad de intervención alguna. Al integrarse con un cliente de descarga, Lidarr gestiona todo el proceso, desde la búsqueda de pistas hasta la organización.

Mejora continuamente tu colección de música

En este punto, ya tienes un sistema de streaming de música autoalojado y totalmente operativo. Navidrome gestiona el backend de tu biblioteca, Feishin optimiza la interacción con el usuario y Lidarr automatiza el mantenimiento de la biblioteca. Para muchos usuarios, esta configuración es más que suficiente para competir con Spotify, especialmente si ya tienes una colección de música.

He diseñado mi configuración para centrarme en estos componentes principales, buscando la simplicidad y la fiabilidad. Sin embargo, si deseas mejorar aún más tu experiencia auditiva, varias actualizaciones podrían acercarlo a un servicio de streaming completo.

Actualmente, su servidor solo es accesible desde su red doméstica. Habilitar el acceso remoto le permite transmitir su biblioteca desde cualquier lugar. Soluciones como Tailscale o WireGuard ofrecen una conexión segura a su servidor doméstico, lo que permite el acceso desde su teléfono, portátil o computadora del trabajo. Esta actualización puede mejorar significativamente la usabilidad, pero requiere una configuración meticulosa para mitigar posibles riesgos de seguridad al acceder a su servidor externamente.

Mejorar aún más tu organización puede mejorar tu experiencia para equipararla con los servicios de streaming comerciales. La recuperación automática de carátulas de álbumes, la consistencia de los nombres de los artistas y unas bibliotecas bien estructuradas son posibles con herramientas como beets. Este gestor de metadatos de línea de comandos se integra con MusicBrainz para etiquetar pistas, resolver inconsistencias en los nombres, recuperar carátulas de álbumes y aplicar un diseño de carpetas uniforme.

Replicar las funciones de descubrimiento musical de plataformas como Spotify es un reto, pero alcanzable. Las sólidas recomendaciones de Spotify se basan en años de análisis de patrones de escucha y algoritmos propietarios. Sin embargo, opciones de código abierto como ListenBrainz pueden rastrear tus hábitos de escucha y ofrecerte recomendaciones personalizadas. Además, herramientas como Explo permiten crear listas de reproducción en Navidrome basándose en esta información.

Aunque el autoalojamiento puede parecer intimidante, ofrece oportunidades para ahorrar en cuotas de suscripción y disfrutar de un mayor control sobre tus archivos multimedia. Por ejemplo, el autoalojamiento con soluciones como Immich te permite gestionar fotos independientemente de Google Fotos, e implementar tu sistema de gestión de documentos con herramientas como Papra.

Fuente e imágenes