¿Por qué Navidrome?
Navidrome llena un vacío que Jellyfin no cubre de la misma manera: solo música, ligero, con la API Subsonic. La API Subsonic es el estándar de facto del streaming musical self-hosted — la admiten más de 20 clientes móviles en Android e iOS. Allí donde Jellyfin gestiona también películas y series, Navidrome está diseñado exclusivamente para la música: indexación por artista/álbum/género, carátulas de álbumes, letras, scrobbling Last.fm/ListenBrainz, listas de reproducción por usuario. Y todo eso en un único contenedor Go con una imagen de menos de 50 MB, que funciona con menos de 256 MB de RAM.
Lo que obtiene con Navidrome
- API Subsonic: streaming desde Symfonium, DSub, Ultrasonic (Android), Amperfy, iSub (iOS)
- Reproductor web integrado — sin necesidad de instalar nada en el ordenador
- Análisis automático de la biblioteca cada hora (o bajo demanda)
- Recuperación automática de carátulas y metadatos desde MusicBrainz y las etiquetas incrustadas
- Listas de reproducción, favoritos, valoraciones e historial de escucha independientes por usuario
- Scrobbling a Last.fm y ListenBrainz por usuario, sin plugin
- Menos de 256 MB de RAM — funciona en el VPS de gama de entrada más modesto
La API Subsonic: un ecosistema de clientes probados
Uno de los puntos fuertes de Navidrome es no reinventar los clientes. Al implementar la API Subsonic — un protocolo abierto creado por Sindre Mehus en 2008 y ampliado por el proyecto OpenSubsonic — Navidrome se beneficia de inmediato de un ecosistema maduro de clientes móviles y de escritorio.
En Android, Symfonium ofrece una experiencia cuidada con ecualización, CarPlay y reproducción sin conexión. DSub es una apuesta segura, gratuita y open source. Ultrasonic y BubbleUpnP cubren los usos más técnicos (UPnP/DLNA). En iOS, Amperfy (open source, en GitHub) e iSub son referencia desde hace años. En escritorio, Sublime Music (Linux) y las integraciones XBMC/Kodi también funcionan con la API Subsonic.
Esta diversidad significa que la elección del cliente no depende de Navidrome: si un cliente deja de convenirle, cambia a otro sin tocar el servidor. Es lo contrario de un lock-in.
Desplegar Navidrome en un VPS en 4 pasos
Contratar un VPS
Elija un VPS con al menos 1 vCPU y 512 MB de RAM — 1 GB recomendado para mayor comodidad. No se requiere ningún dominio: puede acceder a Navidrome mediante un túnel SSH desde cualquier ordenador.
Despliegue automático
ServOrbit instala Docker, configura los volúmenes persistentes e inicia Navidrome en una sola pasada. Se crean dos volúmenes: /data (base SQLite, caché, listas de reproducción) y /music (su biblioteca). Recibe la URL de acceso en cuanto está lista.
Subir su música
Conéctese al VPS por SFTP (FileZilla, Cyberduck) o con rsync y deposite sus archivos en el volumen /music. Navidrome los detecta y los indexa automáticamente en el siguiente análisis (cada hora por defecto), o haga clic en «Escanear la biblioteca» en la interfaz de administración para lanzarlo de inmediato.
Crear la cuenta y conectar una app
Abra la URL de su instancia en un navegador. La pantalla de primera conexión le invita a crear una cuenta de administrador. Después, instale un cliente Subsonic en su teléfono (Symfonium o DSub en Android, Amperfy en iOS), introduzca la URL de su servidor y sus credenciales — su biblioteca completa queda accesible.
Para acceder a Navidrome desde su ordenador sin dominio, use un túnel SSH: ssh -L 4533:127.0.0.1:4533 root@votre-ip-vps y luego abra http://localhost:4533 en su navegador. Para un acceso móvil permanente desde cualquier lugar, apunte un subdominio a su VPS y configure HTTPS — los clientes Subsonic funcionan mejor en HTTPS para las conexiones móviles.
Arquitectura de Navidrome: Go + SQLite, nada más
Navidrome es un único binario Go que incorpora su propio servidor HTTP y una base de datos SQLite. No se requiere ningún servicio externo: nada de Redis, nada de PostgreSQL, nada de Node.js. Este diseño monolítico deliberado hace que la instalación sea trivial y las actualizaciones, sin fricción: una sola imagen Docker, un solo proceso que vigilar, un solo volumen de datos que respaldar.
Monta dos volúmenes Docker: /data (base de datos, caché, carátulas descargadas, listas de reproducción y preferencias) y /music (su biblioteca en lectura-escritura). La imagen oficial (deluan/navidrome:latest) pesa menos de 50 MB y arranca en pocos segundos. La huella de RAM en uso corriente se mantiene por debajo de 256 MB para una biblioteca personal de 10 000 a 50 000 títulos — un VPS con 1 GB de RAM va sobrado.
El servidor web integrado sirve a la vez la interfaz de administración, el reproductor web y la API Subsonic en el mismo puerto (4533 por defecto). No hay separación entre un proceso «backend» y un proceso «frontend»: todo cabe en el mismo binario, lo que simplifica la supervisión y las actualizaciones. Para exponer Navidrome en HTTPS, basta con colocar un reverse proxy nginx o Caddy delante — ServOrbit configura esa capa automáticamente cuando asocia un dominio a su VPS.
Navidrome vs Jellyfin: ¿qué herramienta para qué uso?
Desplace la tabla
| Navidrome | Jellyfin | |
|---|---|---|
| Especialidad | Solo música | Vídeo + música + fotos |
| API | Subsonic / OpenSubsonic | Jellyfin REST + DLNA |
| RAM típica | < 256 MB | 512 MB — 2 GB |
| Transcodificación de vídeo | No aplicable | Sí (GPU opcional) |
| Clientes móviles de música | 20+ clientes Subsonic | App oficial de Jellyfin |
| Scrobbling Last.fm | Nativo, por usuario | Mediante plugin |
Formatos de audio compatibles y transcodificación
Navidrome lee de forma nativa todos los formatos de audio habituales: MP3, FLAC, AAC, OGG Vorbis, Opus, M4A, WAV, AIFF, WMA y ALAC. Extrae los metadatos directamente de las etiquetas ID3v2, Vorbis Comment e iTunes, y completa las carátulas que faltan desde MusicBrainz y Last.fm.
La transcodificación al vuelo está disponible para los clientes que no admiten un formato dado (típicamente FLAC → MP3 u Opus para ahorrar ancho de banda). Requiere ffmpeg instalado en el servidor — ServOrbit lo configura automáticamente en la imagen de despliegue. Sin ffmpeg, Navidrome funciona en Direct Play puro: el archivo original se envía tal cual, sin conversión.
Gestión multiusuario y scrobbling
Navidrome gestiona de forma nativa varias cuentas de usuario, cada una totalmente independiente: listas de reproducción, favoritos, valoraciones, historial de escucha y ajuste de scrobbling están separados. Una cuenta de administrador puede crear nuevas cuentas desde la interfaz web sin manipular la base de datos.
El scrobbling hacia Last.fm o ListenBrainz se configura por usuario en los ajustes del perfil. Cada título reproducido se envía al servicio en segundo plano — sin plugin de terceros, sin ningún daemon adicional. Para las familias o los compañeros de piso que comparten un VPS, este aislamiento completo permite que cada uno conserve sus propias estadísticas de escucha y recomendaciones sin interferencias.
Hacer copias de seguridad de Navidrome
Hay dos elementos que respaldar: el volumen /data (base SQLite + caché + listas de reproducción) y su biblioteca musical en /music. Para el volumen /data, basta con una copia del directorio Docker. El siguiente comando crea un archivo tar.gz desde un contenedor Alpine efímero:
docker run --rm -v navidrome-data:/data -v /backup:/backup alpine tar czf /backup/navidrome-data.tar.gz /dataLa biblioteca musical en /music ya es su copia maestra: mientras sus archivos originales existan en algún sitio (disco duro local, NAS, almacenamiento en la nube), la restauración consiste simplemente en volver a copiar los archivos y lanzar un nuevo análisis. Navidrome nunca modifica sus archivos de audio — los lee, no los transforma.
ServOrbit puede configurar copias de seguridad automáticas del volumen /data hacia un almacenamiento de objetos compatible con S3 (Scaleway Object Storage, OVHcloud Object Storage, etc.). Para las bibliotecas grandes, respaldar /music por separado en un almacenamiento de objetos mediante rclone es la solución más económica: la deduplicación y la compresión por bloques reducen significativamente el volumen almacenado en una colección FLAC. La frecuencia recomendada para /data es diaria; para /music, semanal basta si sus incorporaciones son poco frecuentes.