Descubre cómo instalar Navidrome en Portainer dentro de tu NAS y crea tu propio servicio de música en la nube sin complicaciones.


Navidrome es un servidor de música autoalojado que pone tu colección al alcance desde cualquier lugar. Ofrece una interfaz web moderna y es compatible con numerosas apps de terceros para iOS y Android. Permite reproducir y organizar con facilidad álbumes y canciones en múltiples formatos, simplificando la gestión de bibliotecas musicales. Su instalación y uso son sencillos, por lo que resulta ideal para quienes desean hospedar su propio servidor y disfrutar de su música en casa o en movilidad.

Portainer es una herramienta de gestión para Docker y Kubernetes. Ofrece una interfaz de usuario gráfica para facilitar la administración de contenedores, imágenes, redes y volúmenes en Docker, así como despliegues y administración de recursos en Kubernetes.

Este tutorial lo realizaremos en un NAS de UGREN que tiene soporte para Docker donde hemos instalado Portainer previamente. Por lo que las rutas de los directorios son los que se encuentran en los volúmenes creados en el NAS.

Primer contacto con UGREEN NASync DXP4800
El UGREEN NASync DXP4800 es un NAS versátil basado en Debian 12, con opción de instalar Proxmox y separar datos de tu infraestructura principal.

Creación de Stack en Portainer

Accedemos a Portainer y, dentro de la sección Stacks, hacemos clic en el botón + Add Stack para crear una nueva pila.

Primero añadimos un nombre a nuestro stack y seleccionamos Web Editor y añadimos el siguiente contenido:

version: "3.9"

services:
  navidrome:
    image: deluan/navidrome
    container_name: navidrome
    restart: always
    ports:
      - "4533:4533"
    environment:
      - ND_LOGLEVEL=info
      - ND_ENABLEINSIGHTSCOLLECTOR=false
      - ND_CONFIGFILE=/data/navidrome.toml
    volumes:
      - /volume1/docker/navidrome:/data
      - /volume1/media/musica:/music

  filebrowser:
    image: filebrowser/filebrowser
    container_name: filebrowser
    restart: always
    user: "0:0"
    ports:
      - "8080:80"
    volumes:
      - /volume1/media/musica:/srv
      - /volume1/docker/filebrowser:/database

También si queremos una configuración básica para Navidrome, dentro de la ruta donde almacenamos los datos crearemos el fichero navidrome.toml con el siguiente contenido:

Scanner.PurgeMissing = "always"

# Directorio donde está tu música
MusicFolder = "/srv"

# Directorio para la base de datos y cachés
DataFolder = "/data"

# Puerto en el que se ejecuta (por defecto 4533)
Port = "4533"

# URL externa si usas proxy inverso (recomendado con HTTPS)
PublicURL = "https://navidrome.dominio.com"

# Idioma de la interfaz web (por defecto autodetecta)
DefaultLanguage = "es"

# Permitir que otros usuarios se registren (falso = solo administrados manualmente)
EnableUserCreation = false

# Habilitar transcoding (por ejemplo, para móviles)
EnableTranscoding = true
TranscodingCacheSize = "500MB"

# Configurar transcoding usando ffmpeg (instálalo si no lo tienes)
TranscodingCmd = "/usr/bin/ffmpeg -i %s -f mp3 -"

# Restringe los usuarios para que no puedan navegar fuera de sus bibliotecas
ScanSchedule = "@every 1h"

# Habilita estadísticas anónimas (puedes desactivarlas si no quieres enviar datos)
EnableExternalServices = true

# Habilita las letras
LyricsPriority = ".lrc,.txt,embedded"

Guardamos los cambios y, desde Portainer, ya podemos desplegar nuestro Stack. Esperamos unos segundos a que todos los contenedores se inicien correctamente y, una vez en marcha, podremos acceder a Navidrome desde la IP de nuestro servidor y el puerto 4533.

Una vez que los contenedores estén en marcha, revisamos los logs de FileBrowser, ya que en ellos se mostrará la contraseña generada automáticamente para el usuario administrador.

⚠️
Ojo, esta contraseña solo aparece una vez, así que anótala antes de continuar.
# docker logs filebrowser
2025/10/08 15:30:24 Warning: filebrowser.db can't be found. Initialing in /database/
2025/10/08 15:30:24 Using database: /database/filebrowser.db
2025/10/08 15:30:24 Using config file: /config/settings.json
2025/10/08 15:30:24 Performing quick setup
2025/10/08 15:30:24 User 'admin' initialized with randomly generated password: HXXQF9KDINc1ymR2
2025/10/08 15:30:24 Listening on [::]:80

Como puedes ver en el registro, al usuario admin se le asigna una contraseña aleatoria que deberás usar para acceder por primera vez.

A partir de este momento:

  • FileBrowser estará disponible en el puerto 8080.
  • Navidrome estará escuchando en el puerto 4533.

Primer contacto: Navidrome

Tras la instalación, tendremos que abrir nuestro navegador e ir a la URL que nos indica el instalador con la IP que nos haya asignado y el puerto 4533.

El primer procedimiento que tenemos hacer, es crear un usuario, configura un nombre y una contraseña segura.

Ahora no aparece nada, pero con el FileBrowser podemos cargar contenido dentro de /opt/navidrome/music

Primer contacto: FileBrowser

Lo primero que tenemos que hacer con FileBrowser, es acceder con el usuario admin y la contraseña que se ha generado durante su despliegue.

Una vez dentro, podemos acceder a Settings - User Management para crear un usuario o cambiar la contraseña de admin.

Luego en My Files, podemos subir las canciones que queremos tener en Navidrome, hacemos clic sobre la flecha hacia arriba del menú que hay arriba a la derecha y cargamos los ficheros.

Y si ahora vamos a Navidrome veremos las canciones que hemos subido:

¡Y listo! Ya se puede cargar contenido en el directorio correspondiente y ya tenemos Navidrome disponible para escuchar música en local.


Más sobre ./voidNull

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación