Creando tu propio Servidor de Música privada

· 3 min · @Hardware · #Raspberry Pi #Docker

Cuando tienes un servidor de bajo consumo como una Raspberry y empiezas a usar Docker, aparte de descubrir un nuevo mundo (no me canso de decirlo), también descubres nuevas formas de torturar tu mente.

Porque digo eso, porque cuando piensas que ya has conseguido todo lo que necesitas, tu cabezita piensa: “aprovéchate de tu servidor y escucha tu música en el móvil”.

Ahí es cuando te dices: ¿por qué no me pongo a investigar si existe esta posibilidad?

Solamente falta que sigas a uGeek Podcast (increíble todo lo que llega a hacer con su servidor) y ya te mete el gusanito en el cuerpo de si él puedo, ¿por qué yo no? y ya la tenemos liada.

He seguido todos sus cambios de contenedores que él ha hecho y los he probado todos:

  • Supysonic: El primero que usé y estuvo bien, hasta que…
  • Gonic: Uno de los mejores que he usado, pero no sé, encuentro que le falta algo, pero no sé qué es…
  • Navidrome: Junto a Gonic, el mejor, y este sí que tiene un no sé qué que siempre vuelvo a él (será la web, desde el que puedes escuchar música)

El mejor, en mi opinión, como he dicho antes Navidrome, no sé qué es, pero me encanta, su simpleza, los pocos recursos que consume del servidor. Lo tiene todo. Eso sí, no tiene nada que echarle en cara a Gonic, pero a este último le falta algo que no sé qué es, y eso que es igual de fácil y consume tan pocos recursos como Navidrome.

Después de esta breve explicación, pasamos a la instalación y configuración de mi Spotify privado.

Como todo en Docker, solamente se tiene que añadir en tu fichero docker-compose.yml la configuración necesaria para instalar Navidrome, que en mi caso es la siguiente:

navidrome:
 image: deluan/navidrome:latest
 container_name: navidrome
 user: 1000:1000 
 ports:
   - "4533:4533"
 restart: unless-stopped
 environment:
   ND_TRANSCODINGCACHESIZE: 100MB
   ND_SCANSCHEDULE: "@every 1h"
   ND_SESSIONTIMEOUT: 24h
   ND_LASTFM_ENABLED: "true"
   ND_LASTFM_APIKEY: "API DE LASTFM"
   ND_LASTFM_SECRET: "API DE LASTFM"
   ND_LASTFM_LANGUAGE: "es"
   ND_SPOTIFY_ID: "API DE SPOTIFY"
   ND_SPOTIFY_SECRET: "API DE SPOTIFY"
 volumes:
   - ${STORAGE}/config/navidrome:/data
   - ${MEDIA}/audio/Music:/music:ro

Yo he puesto las opciones de configuración que uso o las que más me interesan, que son:

  • ND_SCANSCHEDULE: Cada cuánto actualiza la biblioteca
  • ND_LASTFM_ENABLED: Si quiero usar la API de LastFM (para que me dé una descripción de los artistas que tengo)
  • ND_SPOTIFY_ID: Si quiero usar la API de Spotify (lo mismo que en el caso de LastFM)

Ahora solamente queda levantar el contenedor:

usuari@raspberry:/# docker-compose up -d navidrome

Aquí es cuando se hace la magia. A lo mejor tarda un poco en estar disponible, porque está escaneando toda la música que tienes, pero cuando digo tardar, son un par de segundos. Porque lo escanea todo a una velocidad increíble.

Lo único que te queda es instalar una app en tu móvil, en mi caso Substreamer, conectarte a tu servidor, que en este caso te viene bien tener configurado un proxy server con su correspondiente certificado y disfrutar.

◇ Referencia