Una de las razones para comprarte un Mini PC es montar un servidor local en tu casa y abandonar los servicios de streaming que cada vez suben más los precios (hablamos de Spotify). Y uno de los programas que nos va a ayudar a conseguirlo es Navidrome, el servidor de música Open Source y gratuito que se instala fácilmente gracias a Docker y que te permite reproducir canciones en FLAC y mp3.
Ya te he comentado cómo instalar Linux Mint en tu Mini PC, y luego cómo poner en marcha Docker y Docker Compose junto con Portainer, para luego poder gestionar todo tu software en contenedores que no van a ver afectados unos con otros. Uno de esos contenedores Docker para a estar reservado para el programa que va a gestionar tu biblioteca musical, todos esos archivos musicales que te has descargado. La música vuelve a tu propiedad.
Requisitos previos a la instalación de Navidrome: tener tu Mini PC con Linux, Docker, Docker Compose y Portainer (opcional). En principio, podrás acceder a tu servidor de música en tu red local. Si quieres conectarte a Navidrome desde fuera de tu red local (fuera de tu casa, por ejemplo), vas a tener que configurar en tu Mini PC y en tu móvil (por ejemplo), la app Tailscale (gratis).
Sigue estos pasos:
- Consigue un Mini PC e instala Linux y Docker.
- Configura Docker correctamente con backups y reinicio automático.
- Prepara tu carpeta de música y verifica las etiquetas con MusicBrainz Picard y Metaflac (o id3v2).
- Sigue esta guía para instalar Navidrome.
De qué es capaz Navidrome
Formatos compatibles (sin transcodificación):
- FLAC (Free Lossless Audio Codec)
- MP3, AAC, OGG, OPUS, WAV, AIFF, M4A, WMA, APE, entre otros.
Características destacadas:
- Puede transmitir directamente en calidad Hi-Fi / lossless, si el cliente (una app Subsonic o DSub) soporta FLAC.
- También puede transcodificar en tiempo real a MP3 u otros formatos para dispositivos que no soporten FLAC o para ahorrar ancho de banda.
- Mantiene los metadatos completos (álbum, artista, portada, etiquetas, etc.).
- Compatible con Subsonic/Madsonic/Airsonic, por lo que puedes usar clientes como Symfonium, DSub, Ultrasonic, Substreamer, etc.
- Soporta ReplayGain y lectura de bitrate / sample rate.
- Soporte para listas de reproducción.
- Puede conectar con Last.fm, ListenBrainz.
Instalación de navidrome en Docker
Puedes crear un archivo Docker Compose (docker-compose.yml) en la ruta que tú elijas con el siguiente contenido (yo lo suelo hacer en la carpeta Home de mi usuario en Linux, en una carpeta llamada Docker):
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000 # should be owner of volumes
ports:
- "4533:4533"
restart: unless-stopped
environment:
# Optional: put your config options customization here. Examples:
ND_LOGLEVEL: info
volumes:
- "/ruta/a/data:/data"
- "/ruta/a/tu/musica:/music:ro"
Luego solo tienes que poner el siguiente comando en el temrinal en la ruta de carpeta:
docker-compose up -d
O puedes hacerlo directamente, todo en Portainer creando un nuevo Stack ( +Add Stack), eliges un nombre (sin espacios o caracteres raros), poniendo todo el código anterior en el Web Editor y apretando a Deploy Stack:

En cuanto hayas levantado el contenedor podrás acceder a Navidrome en tu navegador en la dirección http://0.0.0.0:4533/ o en la IP de tu servidor local: http://ip-servidor-local:4533/
Configurando Navidrome
Lo primero que vas a ver en esa dirección es lo siguiente:

Vas a tener que crear un nombre de usuario y una contraseña para gestionar Navidrome.
Si has configurado bien las carpetas en el contendor, Navidrome debería empezar a escanear toda tu biblioteca musical, y tus álbumes y canciones deberían ir apareciendo en pantalla:

Si te metes en cualquiera de los discos, verás todas tus canciones:

Con opciones para ponerte a escuchar, directamente tu música, añadir a listas o consultar la info en Last.fm o MusicBrainz.
Cómo puedes ver en la barra de la izquierda, puedes filtrar tus temas por álbum, artista, añadidos recientemente, canciones o incluso configurar Radios, aunque para eso siempre uso Foobar2000.
¿Más cosas interesantes? En la barra superior a la derecha puedes actualizar tu biblioteca con un Quick Scan o un Full Scan (en la línea que parece una onda):

También puedes acceder en el icono de la persona a tus datos, usuarios, transcodificación, librerías configuradas (puedes crear nuevas librerías, siempre y cuando hayas mapeado el volumen en Docker previamente), archivos perdidos o reproductores que has usado para acceder a tu servidor…

- En la pestaña Personal puedes activar el ReplayGain Mode, para ajustar automáticamente el volumen de reproducción de las pistas de audio para evitar que algunas canciones suenen muy altas y otras muy bajas.
- En esa pestaña puedes conectar Navidrome a ListenBrainz poniendo tu propio token para añadir los datos de tus escuchas a este servicio y que te dé recomendaciones musicales.

¿Quieres profundizar en la configuración de Navidrome? Tienes que crear un archivo navidrome.toml en el volumen de datos de Navidrome en Docker. Puedes añadir muchas opciones.
¿Reproductores para acceder a Navidrome?
Eso es. No solo puedes acceder a Navidrome mediante un navegador. También hay diferentes reproductores para cada sistema operativo, gracias a que es compatible con OpenSubsonic compatible API.

Yo he usado Symfomium en Android, Amperfy en iOS o Feishin para macOS, Windows, Linux o Docker.
Como ejemplo, te pongo cómo he configurado Feishin en un mac. Primero descargas la app y metes el archivo en la carpeta aplicaciones. Luego tienes que quitar la app de la cuarentena con el comando: xattr -r -d com.apple.quarantine /Applications/Feishin.app. Ya vas a poder abrir la app y lo priemro que te va a pedir son los datos de tu servidor:

Pon la IP del servidor junto con el puerto: http://ip-servidor-local:4533. No pongas el localhost que no te va a funcionar. Pon el usuario y contraseña que has creado antes. En cuanto lo completes, verás algo así:

Una interfaz mucho más cuidada y amigable que la que te ofrece Navidrome ene l navegador.
¿De verdad todo funciona tan bien?
Etiquetado de canciones
El programa es espectacular… todo te va a funcionar bien siempre y cuando hayas etiquetado bien tus canciones. ¿Esto qué quiere decir? Cada canción que tengas en tu ordenador tiene que tener ciertos metadatos en ella: autor, álbum, si es una recopilación, compositor, carátula, etc.
¿Ejemplo? Todas las canciones de un disco, deben tener el tag del álbum al que pertenecen y quién es su autor. Si no tienen esta información, Navidrome no será capaz de agruparlas dentro de un mismo álbum. Lo mismo pasa en los recopilatorios, sobre todo si los ha hecho tú: cada tema pertenece a un disco distinto y puede aparecer en Navidrome bajo el epígrafe de un álbum diferente, no en el recopilatorio que has creado tú.
- Puedes consultar esta página de Navidrome: Tagging Guidelines:
- Imprescindibles: Rellena las etiquetas esenciales para cada canción: como mínimo, cada archivo de música debe tener el título (nombre de la canción), el artista, el álbum, el artista del álbum y el número de pistas. Opcionalmente, incluye el género, el año/fecha y el número de discos (para álbumes de varios discos). El uso coherente de estos campos permite a Navidrome agrupar e identificar con precisión tu música.
- Recopilaciones: Para un álbum recopilatorio de «Various Artists», establece esta etiqueta en todas tus pistas para que Navidrome las trate como un solo álbum. En el etiquetado MP3/ID3, esto suele denominarse con TCMP en «1» (verdadero). En las etiquetas FLAC/Vorbis, utiliza una etiqueta llamada COMPILATION con el valor «1».
- Portadas: Puedes meter la portada directamente en cada tema y adicionalmente en la carpeta del disco: cover.jpg, folder.jpg, o front.png con una resolución entre 500×500 a 1000×1000 pixeles.
Esto puede ser un problema, porque Navidrome te va a mostrar una colección desordenada. Yo he usado MusicBrainz Picard (Windows, Linux, macOS. Gratis), PuddleTag (Linux) y el programa Metaflac (gratis) para corregir todos estos errores tal y como te comento en cómo configurar metadatos de música.

De manera resumida, el proceso sería el siguiente: obtienes todos los metadatos de tus canciones con MusicBrainz Picard. Luego filtras todos esos datos con Metaflac (si tus archivos son FLAC. Debes usar id3v2 si son mp3) para quedarte solo con los más importantes y que Navidrome no se lie clasificando tus canciones.
Navidrome no ve tu música
Es posible que hayas configurado mal el volumen en Docker.
En mi caso, he puesto:
volumes:
- "/home/ivan/docker/navidrome_data:/data"
- "/media/ivan/Music/musica:/music:ro"
El primero es el home de mi usuario en Linux donde se guarda la base de datos y las cachés de Navidrome. El segundo es la ruta directa al disco duro donde tengo mi biblioteca musical.
Si las rutas están bien, asegúrate de tener los permisos correctos para leer esas carpetas: user: 1000:1000 y que sea el dueño de /ruta/a/tu/musica.
No puedes acceder a Navidrome
Es posible que tengas activo el Firewall de Linux y que no hayas abierto el puerto de Navidrome, 4533. Tienes que poner:
sudo ufw allow 4533
Conclusión
¿Es Navidrome para todo el mundo? Está claro que el streaming que nos proporciona Spotify es muy conveniente, pero desde que no paran de subir de precio, la cosa se está volviendo más espinosa.
Si ya tienes una biblioteca en mp3 o FLAC, Navidrome es el gestor de tu biblioteca perfecto, con permiso de otras opciones como Airsonic. ¿Qué pierdes? Comodidad para escuchar canciones infinitas y las recomendaciones de Spotify.
Para el tema de las recomendaciones, puedes usar ListenBrainz o páginas como chosic.com, everynoise.com, o buscar tus propias mezclas en www.mixesdb.com.
- Aprovecha que has instalado Navidrome para tu música y pásate a Immich para gestionar tu biblioteca de fotos.
Ahora solo necesitas unos buenos auriculares (con tu firma sonora favorita, con la impedancia y sensibilidad adecuados) y una buena selección musical con los formatos adecuados.
- Ventajas:
- No van a desaparecerte álbumes por cambios de licencia.
- Tienes calidad Hi-Fi sin coste extra mientras tengas archivos FLAC.
- Privacidad total: Nadie rastrea tus escuchas.
- Inversión inicial vs. suscripción mensual eterna.
- Desventajas:
- Tiempo de configuración y mantenimiento
- Tú eres el responsable: Si se rompe algo, lo arreglas tú.
- Gestionar los metadatos: Es el trabajo más tedioso.