Ir al contenido
Background Image

Navidrome: Tu servidor de música sin depender de Spotify

Autor
Alvaro Vargas
Desarrollador de bases de datos de día, entusiasta del aprendizaje kinestésico de noche.
Tabla de contenido

El mes pasado me llegó el correo de renovación de Spotify. Nada del otro mundo, ¿verdad? Excepto que esa misma semana me di cuenta de que tres álbumes que escucho con frecuencia habían desaparecido del catálogo sin previo aviso. Ahí fue cuando dije: ya estuvo. Tengo cientos de gigabytes de música en un disco duro que compré hace años, ¿por qué sigo pagando para escuchar lo que ya tengo, más lo que se les antoja quitarme?

Esa misma tarde instalé Navidrome en mi NAS y no he vuelto a abrir Spotify desde entonces.

Por qué Navidrome debería estar en tu radar
#

La trampa de las suscripciones musicales
#

El modelo de streaming musical tiene un problema fundamental: nunca posees nada. Pagas mes con mes por acceso a una biblioteca que puede cambiar mañana. Los artistas retiran catálogos, las licencias vencen, los servicios suben precios o desaparecen por completo. Si tienes una colección de música propia, ya sea comprada en Bandcamp, ripeada de CDs o descargada legalmente, estás pagando una suscripción para escuchar cosas que ni siquiera son las tuyas.

¿Qué es Navidrome y por qué es diferente?
#

Navidrome es un servidor de música de código abierto que transforma tu colección local en un servicio de streaming personal. Funciona con el protocolo Subsonic/OpenSubsonic, que es básicamente el estándar de facto para servidores de música self-hosted, lo que significa que hay docenas de apps que ya saben hablar con él.

Lo que lo hace diferente de otras opciones como Jellyfin o Plex (que también hacen música, pero hacen mil cosas más) es que Navidrome hace una sola cosa y la hace bien: música. Es ligero, rápido, y no necesita una máquina poderosa para correr.

Lo que necesitas antes de empezar
#

Antes de entrarle, necesitas tener:

  • Un NAS, servidor casero, o cualquier máquina Linux corriendo 24/7
  • Docker y Docker Compose instalados
  • Tu música organizada en carpetas (no tiene que ser perfecta, pero ayuda)
  • Un par de horas libres la primera vez, aunque el proceso es más rápido de lo que parece

Cómo funciona Navidrome (la teoría sin aburrimiento)
#

Servidor vs cliente: entender la arquitectura
#

Piénsalo como Spotify pero donde tú controlas ambas partes. Navidrome es el servidor, vive en tu NAS y se encarga de leer tus archivos de música, escanear metadatos, y servir el audio cuando alguien lo pide. El cliente es la app que usas en tu teléfono o computadora para pedirle canciones al servidor.

La interfaz web que trae Navidrome incluida sirve para configurar todo y escuchar desde el navegador, pero en el día a día vas a querer una app dedicada.

Formatos de audio soportados y compatibilidad
#

Navidrome soporta los formatos más comunes sin drama: MP3, FLAC, AAC, OGG, Opus, y más. Si tienes una colección mixta de calidades, no hay problema. También puede hacer transcodificación al vuelo, o sea, convertir un archivo FLAC de 40MB a algo más manejable cuando estás en datos móviles, aunque esto requiere tener ffmpeg instalado en el servidor.

Requisitos mínimos de hardware (spoiler: muy bajos)
#

Aquí es donde Navidrome brilla. Corre perfectamente en una Raspberry Pi 4, en un NAS Synology de gama media, o en cualquier VPS de dos dólares al mes. La documentación oficial menciona que puede manejar bibliotecas de más de 300,000 canciones en hardware modesto. Para una colección personal normal, cualquier cosa con 512MB de RAM y un procesador de hace diez años es más que suficiente.


Instalando Navidrome con Docker (paso a paso)
#

Preparar la carpeta y los archivos de configuración
#

Primero, crea la estructura de directorios donde va a vivir Navidrome:

mkdir -p ~/navidrome/data
mkdir -p ~/navidrome/music

La carpeta data guarda la base de datos y configuración de Navidrome. La carpeta music es donde apuntas tu biblioteca, aunque también puedes montar una ruta existente directamente.

El docker-compose perfecto para Navidrome
#

Crea el archivo docker-compose.yml dentro de ~/navidrome/:

version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    user: "1000:1000"
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: "1h"
      ND_LOGLEVEL: "info"
      ND_SESSIONTIMEOUT: "24h"
      ND_BASEURL: ""
    volumes:
      - ./data:/data
      - ./music:/music:ro

Algunos puntos importantes: el user: "1000:1000" le dice a Docker qué usuario del sistema debe usar para leer los archivos, ajústalo al tuyo si es diferente. El :ro al final del volumen de música significa que el contenedor solo puede leer esa carpeta, nunca modificarla, lo cual es una buena práctica de seguridad.

Levantando el servicio y verificar que funcione
#

Con el archivo guardado, levanta el contenedor:

cd ~/navidrome
docker compose up -d

Para verificar que todo está corriendo sin errores:

docker compose logs -f navidrome

Si ves algo como Navidrome server is ready en los logs, ya está. Abre tu navegador en http://IP-DE-TU-SERVIDOR:4533 y debería aparecer la pantalla de bienvenida.


Configuración inicial sin dolores de cabeza
#

Acceder a la interfaz web y crear tu usuario
#

La primera vez que abres Navidrome en el navegador, te pide crear un usuario administrador. Este será tu cuenta principal con acceso a todo. Pon un nombre de usuario y contraseña decentes, especialmente si planeas exponer el servidor a internet después.

Apuntando Navidrome a tu biblioteca de música
#

Si montaste tu música en ./music como en el ejemplo, Navidrome ya sabe dónde buscar. Puedes verificarlo en Configuración > Biblioteca dentro de la interfaz de administración. Si tu música está en otro lado, ajusta el volumen en el docker-compose.yml antes de levantar el contenedor.

Ajustes de escaneo automático y calidad de audio
#

El ND_SCANSCHEDULE: "1h" en el compose le dice a Navidrome que revise si hay música nueva cada hora. Para una biblioteca que no cambia tan seguido puedes ponerlo en 24h o incluso @weekly. También puedes forzar un escaneo manual desde la interfaz cuando quieras.

Para la calidad de audio, si instalas ffmpeg en el servidor puedes habilitar la transcodificación. Esto es opcional pero útil si escuchas mucho en datos móviles.


Accediendo a tu música desde cualquier lado
#

Apps móviles recomendadas (iOS y Android)
#

Como Navidrome habla Subsonic, tienes muchas opciones. En Android, Symfonium es la mejor experiencia de paga, y Substreamer es una opción gratuita sólida. En iOS, Amperfy es excelente y gratuita. Todas piden la misma información para conectarse: la URL de tu servidor, tu usuario y contraseña.

Exponiendo Navidrome de forma segura en internet
#

Para escuchar desde fuera de tu red local, tienes varias opciones. La más simple es usar Cloudflare Tunnel, que no requiere abrir puertos en tu router. La más común entre quienes ya tienen infraestructura es ponerle un reverse proxy como Nginx Proxy Manager o Caddy con certificado SSL.

Lo importante es que Navidrome no quede expuesto directamente sin HTTPS, especialmente si vas a compartirlo.

Compartir tu servidor con amigos (opcional pero divertido)
#

Navidrome soporta múltiples usuarios. Puedes crear cuentas para amigos o familia con diferentes permisos. Cada quien tiene su propia biblioteca de escuchado, listas de reproducción, y favoritos. Es básicamente tu Spotify privado donde tú decides quién entra.


Conclusión
#

Llevas años pagando para acceder a música que en realidad no te pertenece. Navidrome es la respuesta directa a ese problema: toma lo que ya tienes, lo convierte en un servicio de streaming propio, y corre en hardware que probablemente ya tienes encendido en tu casa.

La instalación toma menos de media hora si ya tienes Docker funcionando, y el resultado es una experiencia musical que no depende de decisiones corporativas, cortes de catálogo, ni renovaciones automáticas.

¿Tienes un NAS juntando polvo o una Raspberry Pi sin proyecto? Este fin de semana puede ser el momento. ¿Ya usas Navidrome o estás migrando desde otra solución? Me gustaría leer cómo te fue en los comentarios.

Relacionados

Tu propia nube con Nextcloud — sin depender de Google