Índice del diarioDockup / nota de campo
Note / self-host-navidrome

Cómo alojar Navidrome por tu cuenta en 2026: montajes de música, escaneos y apps Subsonic

Guía práctica para alojar Navidrome por tu cuenta: Docker, puertos, datos persistentes, TLS, seguridad, copias de seguridad y los problemas que impiden usarlo en producción. En 2026.

Si ya has intentado alojar Navidrome por tu cuenta, probablemente te resulte familiar esta situación frustrante: la interfaz aparece, pero los escaneos no encuentran archivos porque la ruta de música del host está montada incorrectamente. Recrear el contenedor rara vez resuelve un desacuerdo entre las URL, el estado y las dependencias.

Este recorrido utiliza un único criterio concreto de finalización: escanear una biblioteca de música de solo lectura, verificar los metadatos y las carátulas, reproducir una pista mediante un cliente Subsonic y guardar una playlist. Cada decisión de configuración se evalúa según ese criterio, no según que el contenedor muestre un indicador en verde.

Haz una copia de seguridad del estado que Navidrome no puede recrear

Define el punto y el tiempo de recuperación de Navidrome en términos de su base de datos, la caché de carátulas, las playlists y la biblioteca de música original. Monta /data antes del bootstrap, escribe datos de ejemplo inocuos y reemplaza el contenedor para demostrar que esa ruta es realmente persistente. Un volumen con nombre resuelve la persistencia durante un redeploy, pero no una intrusión ni la pérdida del servidor.

Prepara un entorno de restauración limpio, utiliza la misma versión fijada de la aplicación y demuestra que vuelven los usuarios, las playlists, el historial de reproducción y los metadatos, y que el mismo cliente Subsonic reproduce una pista conocida. Registra los comandos, las correcciones de permisos y el tiempo transcurrido. La guía de copias de seguridad ofrece un estándar útil: una copia de seguridad se considera fiable después de restaurarla, no después de subirla.

Inicia Navidrome sin ocultar las piezas importantes

Usa el contenedor como un runtime reemplazable, no como la fuente de verdad.

docker run -d \
  --name navidrome \
  --restart unless-stopped \
  -p 127.0.0.1:4533:4533 \
  -v navidrome-data:/data \
  -v /srv/music:/music:ro \
  -e ND_BASEURL=/ \
  deluan/navidrome:latest

Confirma el requisito local antes de exponer el servicio: un montaje de biblioteca de música de solo lectura y datos de aplicación con permisos de escritura. Inspecciona el usuario del contenedor, las rutas escribibles y el listener enlazado antes de exponerlo. Ejecuta la acción completa —escanear una biblioteca de música de solo lectura, verificar los metadatos y las carátulas, reproducir una pista mediante un cliente Subsonic y guardar una playlist— y guarda la referencia exacta de la imagen que produjo el resultado.

Elige la topología mínima viable para Navidrome

Empieza por el namespace de red de Navidrome: su listener web está en el puerto 4533, no en un puerto del host copiado de un tutorial para portátiles. El requisito del runtime local es un montaje de biblioteca de música de solo lectura y datos de aplicación con permisos de escritura. Regístralo junto a la imagen y el puerto para que un host de reemplazo reciba la misma capacidad local.

Cuando se cumpla el requisito, ejecuta el escenario completo —escanear una biblioteca de música de solo lectura, verificar los metadatos y las carátulas, reproducir una pista mediante un cliente Subsonic y guardar una playlist—. Registra los logs y las mediciones del tiempo de escaneo de la biblioteca, el uso de CPU de la transcodificación, la caché de carátulas, las reproducciones simultáneas y el rendimiento del disco. Estas pruebas se convierten en la primera arquitectura conocida como correcta y permiten comprobar futuros cambios entre la infraestructura de Dockup y un servidor conectado.

El TLS es sencillo; las URL generadas, no

Establece ND_BASEURL cuando sirvas desde un subpath; en caso contrario, es preferible utilizar un host HTTPS dedicado. Envía el hostname elegido al puerto 4533 del contenedor, reenvía el host original y el esquema HTTPS, y evita publicar un segundo origin directo.

Prueba Navidrome desde un cliente externo limpio. Separa los fallos de ingress del límite conocido de la aplicación: los escaneos no encuentran archivos porque la ruta de música del host está montada incorrectamente. Un error de certificado, DNS o 502 pertenece al routing; una solicitud que llega a Navidrome y falla después pertenece al estado de la aplicación, a la capacidad o a uno de sus requisitos de soporte. La guía sobre TLS con dominios personalizados cubre el primer grupo.

Cinco comprobaciones más sólidas que el estado del contenedor

Antes de que lleguen usuarios reales, prepara una hoja de verificación de release para Navidrome. Debe indicar la imagen fijada, el puerto 4533, el origin canónico, las rutas persistentes y el responsable de un montaje de biblioteca de música de solo lectura con datos de aplicación con permisos de escritura. Añade el resultado esperado de esta transacción: escanear una biblioteca de música de solo lectura, verificar los metadatos y las carátulas, reproducir una pista mediante un cliente Subsonic y guardar una playlist.

Utiliza la hoja después de un reemplazo normal y de una restauración limpia. La recuperación solo se acepta si vuelven los usuarios, las playlists, el historial de reproducción y los metadatos, y el mismo cliente Subsonic reproduce una pista conocida. Recoge también una traza breve de recursos que cubra el tiempo de escaneo de la biblioteca, el uso de CPU de la transcodificación, la caché de carátulas, las reproducciones simultáneas y el rendimiento del disco; guárdala junto a la release para comparar futuros cambios de capacidad con la misma carga de trabajo.

Incluye un fallo controlado: envía una entrada inocua cerca del límite de recursos o formato asociado a este límite: los escaneos no encuentran archivos porque la ruta de música del host está montada incorrectamente. Confirma que Navidrome informa del problema en el límite correcto, restablece la condición válida y vuelve a ejecutar la transacción. Esto comprueba la visibilidad de los errores, no solo el éxito, y evita que una interfaz aparentemente saludable oculte un worker, callback o conexión a la base de datos averiados.

Logs que responden a la siguiente pregunta

Utiliza escanear una biblioteca de música de solo lectura, verificar los metadatos y las carátulas, reproducir una pista mediante un cliente Subsonic y guardar una playlist como smoke test de Navidrome después de cada deployment. Sus métricas de soporte son el tiempo de escaneo de la biblioteca, el uso de CPU de la transcodificación, la caché de carátulas, las reproducciones simultáneas y el rendimiento del disco; configura alertas cuando esos recursos se acerquen a un punto que degrade la acción del usuario.

El principal riesgo de cambio es que las migraciones de la base de datos de Navidrome y el comportamiento del scanner deben probarse mientras los archivos de música originales permanecen intactos. Una release segura parte de un snapshot restaurable y valida cualquier cambio de estado unidireccional antes de mover el tráfico. Cuando los escaneos no encuentren archivos porque la ruta de música del host está montada incorrectamente, conserva el contenedor fallido el tiempo suficiente para leer su configuración y el primer error.

No le des a Navidrome acceso a todo el host

Cierra la ventana de bootstrap en cuanto exista el primer administrador de confianza. La trampa concreta de Navidrome es montar la biblioteca de música con permisos de escritura sin una razón; el límite más seguro consiste en montar la música como solo lectura, proteger las cuentas y exponer únicamente el servicio de streaming, no la biblioteca del host.

ND_BASEURL es configuración, no un secreto; mantén su valor explícito y protege las credenciales independientes que utiliza Navidrome. La red privada debe transportar las credenciales de las dependencias, y los roles dentro de Navidrome deben conceder la acción útil mínima. Mantén fuera de los logs habituales los cuerpos de las solicitudes sensibles y las respuestas de los proveedores.

Mantén Navidrome explícito mientras Dockup gestiona el routing

El routing, los certificados, el reemplazo de servicios y el almacenamiento conectado son objetivos razonables para la automatización. Dockup se encarga de ellos para Navidrome y puede aprovisionar la base de datos gestionada relacionada o conectarse a servicios del servidor del propio cliente.

Lo que no debe inventar es la política de confianza de Navidrome. Después del deployment, establece ND_BASEURL cuando sirvas desde un subpath; en caso contrario, es preferible utilizar un host HTTPS dedicado, aplica este límite —montar la música como solo lectura, proteger las cuentas y exponer únicamente el servicio de streaming, no la biblioteca del host— y verifica el resultado de este escenario: escanear una biblioteca de música de solo lectura, verificar los metadatos y las carátulas, reproducir una pista mediante un cliente Subsonic y guardar una playlist. El resultado es una infraestructura de un clic con una prueba de aceptación específica de la aplicación.

Preguntas frecuentes

¿Qué necesita Navidrome para un deployment en producción?

Enruta el contenedor de Navidrome en el puerto 4533 a través de un único origin HTTPS. El requisito del runtime local es un montaje de biblioteca de música de solo lectura y datos de aplicación con permisos de escritura. No consideres que Navidrome está listo hasta que puedas escanear una biblioteca de música de solo lectura, verificar los metadatos y las carátulas, reproducir una pista mediante un cliente Subsonic y guardar una playlist.

¿Qué datos de Navidrome deben incluirse en una copia de seguridad?

Haz persistir /data e incluye la base de datos de Navidrome, la caché de carátulas, las playlists y la biblioteca de música original en el mismo manifiesto de recuperación. Una restauración limpia de Navidrome solo se considera correcta cuando vuelven los usuarios, las playlists, el historial de reproducción y los metadatos, y el mismo cliente Subsonic reproduce una pista conocida.

¿Navidrome necesita HTTPS detrás de un reverse proxy?

Utiliza HTTPS para el origin público de Navidrome y mantén el puerto 4533 en la ruta interna. Aplica correctamente la configuración de Navidrome: establece ND_BASEURL cuando sirvas desde un subpath; en caso contrario, es preferible utilizar un host HTTPS dedicado. En Navidrome, HTTPS protege las credenciales o el contenido de los usuarios durante el tránsito y mantiene coherente el comportamiento del cliente sensible al origin.

¿Cómo se debe probar una actualización de Navidrome?

Restaura el estado actual de Navidrome en un deployment aislado, aplica la versión candidata y repite su transacción de aceptación. Presta especial atención, porque las migraciones de la base de datos de Navidrome y el comportamiento del scanner deben probarse mientras los archivos de música originales permanecen intactos. Conserva la imagen anterior de Navidrome hasta comprender los límites de migración de datos y rollback.