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.
Instalación de Docker
Para instalar Navidrome utilizaremos Docker, por lo que es necesario que en el servidor tengas instalado Docker. Para ello deberás de seguir este tutorial para instalar Docker:

Instalación de Navidrome
Primero crearemos un directorio donde guardaremos tanto la configuración como la música de Navidrome. Además, aprovecharemos para instalar FileBrowser, una herramienta que nos permitirá subir y gestionar fácilmente los archivos de música directamente desde una interfaz web.
mkdir -p /opt/navidrome/{music,data}
touch /opt/navidrome/docker-compose.yml /opt/navidrome/data/navidrome.tomlDentro del fichero docker-compose-yml copiaremos el siguiente contenido:
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
Y dentro de navidrome.toml añadiremos esta configuración que podemos adaptar a nuestro gusto:
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 y levantamos los dos contenedores:
docker compose up -dUna 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.
# 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 [::]:80Como 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.
Configurar Nginx Proxy
Si queremos acceder a los servicios a través de un subdominio, podemos configurar un Nginx Proxy para acceder a través de ellos mediante SSL y subdominio:

Primer contacto: Navidrome
Lo primero que tendremos que hacer es 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 primero 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
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.


Comentarios