Navidrome
Qué es Navidrome?
Instalar Navidrome
La instalación de Navidrome es muy simple, ya que la realizamos a través de docker, usando específicamente su plugin docker compose. (Acá podemos ver un desglose básico de cómo funciona el docker compose.)
Crear directorios
Lo primero que vamos a tener que hacer va a ser designar un directorio para muestra música y otra para nuestra data (data, en este caso, refiere a cosas como lxs usuarixs que creemos, las playlist, favoritos, y demás de ellxs, cosas así). El directorio de la música podría ser el que antes definimos a través del lvm (ver en prerrequisitos), o podría ser un directorio nuevo que creemos. Para este ejemplo, vamos a suponer que el directorio para nuestra música se va a encontrar en /mnt/musica, ya que lo creamos para montar un [volumen lógico] específico allí. Nuestro directorio de data lo vamos a crear en nuestro directorio home, en la siguiente dirección: ~/docker/navidrome/data (~ representa el path a nuestro directorio home):
mkdir -p docker/navidrome/data
Crear y configurar docker compose
Hechos nuestros directorios de música y data, vamos a crear un archivo llamado docker-compose.yaml. Este archivo lo podemos hacer donde queramos, pero yo normalmente creo un directorio llamado composes en el directorio de docker, y dentro de ese directorio creo directorios con los distintos servicios que voy a subir (ya que el archivo donde vamos a poner el docker compose siempre se va a llamar docker compose):
mkdir -p ~/docker/composes/navidrome
nano ~/docker/composes/navidrome/docker-compose.yaml
Dentro del archivo docker-compose, vamos a copiar lo siguiente:
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000 # should be owner of volumes
ports:
- "4533:4533"
restart: unless-stopped
# environment:
# Optional: put your config options customization here. Examples:
# ND_LOGLEVEL: debug
volumes:
- "/path/to/data:/data"
- "/path/to/your/music/folder:/music:ro"
Vamos a tener que prestar atención a dos cosas:
- Que el usuarix 1000 sea dueño de los volúmenes (los directorios) donde almacenemos nuestra música y data
- Que modifiquemos el path hacia los volúmenes correctamente
Chequear que lx usuarix sea dueñx de los volúmenes
Para chequear que tengamos acceso a los volúmenes vamos a usar el comando chown, que cambia lx dueñx de un archivo o directorio. Lo vamos a usar con la opción -R para asegurarnos de que ese cambio sea recursivo, es decir que también cambie lx dueñx de los directorios y archivos dentro del directorio que indiquemos. En este ejemplo, nuestros directorios a cambiar son ~/docker/navidrome y /mnt/musica, y lx usuarix que queremos que pase a ser su dueño va a ser juli:
sudo chown -R juli:juli ~/docker/navidrome
sudo chown -R juli:juli /mnt/musica
Podemos ver cómo, por ejemplo, lx usuarix juli figura como dueñx de /mnt/musica:
Indicar los path hacia los volúmenes
Para esto, simplemente vamos a tener que modificar dos líneas de nuestro archivo docker-compose.yaml:
"/path/to/data:/data": Vamos a tener que cambiar /path/to/data al path de nuestra carpeta de data. Para esto recomiendo que usemos paths absolutos, es decir sin usar ni el ~, ni el .. Entonces, si queremos averiguar cuál es el path absoluto hacia nuestro directorio de data, podemos usar cd para dirijirnos ahí y luego el comando pwdpara ver su path:
cd ~/docker/navidrome/data
pwd
Ahora que vimos el path, podemos cambiar la línea (recordá que para abrirlo, o incluso crearlo, tenés que usar el comando nano docker-compose.yaml desde dentro de la carpeta donde se encuentra el archivo):
"/path/to/data:/data" --> "/home/juli/docker/navidrome/data:/data"
Con /mnt/musica no necesitamos hacer esto, ya que como el path comienza con una barra diagonal, sabemos que es un path absoluto.
"/path/to/your/music/folder:/music:ro" --> "/mnt/musica:/music:ro"
Iniciar el contenedor
Cambiadas estas dos líneas, el docker-compose.yaml nos debería haber quedado así:
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000 # should be owner of volumes
ports:
- "4533:4533"
restart: unless-stopped
# environment:
# Optional: put your config options customization here. Examples:
# ND_LOGLEVEL: debug
volumes:
- "/home/juli/docker/navidrome/data:/data"
- "/mnt/musica:/music:ro"
Ahora, lo único que nos queda es arrancar el servicio. Después de guardar los cambios y salir del archivo, ejecutamos (dentro del directorio donde se encuentra el archivo docker-compose.yaml) el comando docker compose up -d (puede que nos haga algún problema, y si es así, deberíamos correrlo con sudo: sudo docker compose up -d):
Acceder al contenedor y crear usuarix Admin
Una vez creado el contenedor, nuestro serivico ya va a estar corriendo! Podemos acceder a él usando la dirección <ip-del-servidor>:4533 en nuestro navegador de internet:
Como podemos ver, lo primero que nos pide va a ser crear un usuarix admin. Este usuarix es quien va a poder crear nuevas cuentas para otra gente y adminisitrar, por lo general, el servicio.
- Instalar algún servicio para procurar música directamente a nuestro servidor
- Usar Cockpit para trasladar música a nuestro servidor
- Bajar alguna aplicación de música que utilice subSonic y conectarla al servicio
En principio, ya podés disfrutar de tu spotify casero!






No comments to display
No comments to display