Navidrome: tu propia plataforma de streaming

Navidrome es un programa de código abierto que te permite alojar tus archivos de música en un servidor y mediante aplicaciones, o un navegador web, escuchar tu música sin gastar espacio en disco duro.

Navidrome en navegador

Lo se, Spotify mató al CD de audio y los archivos de música en discos duros. Pero algunos nos resistimos a usar esas plataformas por diferentes motivos: son privativas, no queremos pagar cuotas mensuales (o no queremos tragarnos publicidad), no tienen la música que nos gusta, no está garantizado que el catálogo siempre este disponible (a veces puede desaparecer al finalizar los derechos, por ejemplo)... cada uno tiene sus motivos.

Pero la idea también tiene sus puntos positivos: puedes tener varios dispositivos (uno o varios ordenadores, móvil, tablet, Televisor, etc.) y tenerlo todo centralizado y accesible te ahorra tiempo y espacio de almacenamiento.

Navidrome te permite tener tu propio sistema de streaming de música, controlado totalmente por ti: que música tendrá y que usuarios podrán acceder. Si quieres, podrás descargarte los archivos a tu ordenador. Y para ejecutarse no necesita muchos recursos (a mi me funciona perfectamente en un servidor virtual con 1 CPU y 6 GB de RAM).

Instalación

La forma más rápida y eficaz de instalar este programa es via contenedores. Vamos a crear un par de volúmenes para que guarde allí la música y los ficheros de configuraciones (así no se perderán al cerrar el contenedor):

podman volume create navimusic
podman volume create navidata

Lanzamos el contenedor:

podman run -d --name navidrome --restart=always --user $(id -u):$(id -g) -v navimusic:/music -v navidata:/data -p 4533:4533 -e ND_LOGLEVEL=info deluan/navidrome:latest

Si no devuelve ningún error, la aplicación ya se está ejecutando. Accedemos al servidor por el puerto 4533, nos pedirá crear un usuario administrador con su correspondiente contraseña y ya lo tendremos listo.

Nota: al ser una persona cabal, he usado podman. Si usáis docker, los comandos son los mismos.

Subiendo música

Copiamos los ficheros de música que queremos tener hospedados al servidor y a continuación los copiamos en el volumen correspondiente:

podman cp directorio navidrome:/music/

A los pocos segundos de copiar los ficheros, Navidrome actualizará la biblioteca, leyendo las etiquetas de cada fichero. Desde ese momento ya se puede reproducir, puntuar canciones y álbumes, crear listas de reproducción, etc.

Pasos adicionales

Acceder por el puerto 4533, sin HTTPs puede ser poco "profesional" a la par que inseguro. En el servidor podemos usar un proxy inverso (ejemplo con Apache):

<VirtualHost *:80>
ServerName navidrome.duckdns.org
ProxyPreserveHost On
ProxyPass / http://localhost:4533/
ProxyPassReverse / http://localhost:4533/
ErrorLog /var/log/httpd/navidrome_error.log
CustomLog /var/log/httpd/navidrome_access.log combined
</VirtualHost>

Y luego con Let's Encrypt generamos un certificado SSL gratuito

sudo certbot --apache --agree-tos -m test@disroot.org -d navidrome.duckdns.org

En la web de Navidrome tienes una lista de aplicaciones compatibles con el programa. Yo suelo usar el navegador siempre que puedo, y en Android uso Subtracks.

13/03/2024 - Linux