160 - Tu propio Spotify

160 - Tu propio Spotify

¿Te gustaría tener tu propio Spotify?¿Te gustaría tener tu servicio de streaming? En este podcast te cuento como hacerlo de forma sencilla y económica

1:25
-3:15

Espero que el título no te lleve a engaño. En ningún momento he pensado en erigirme como competencia de Spotify o de cualquier otro servicio de streaming. La cuestión es que tener tu propio Spotify, es realmente sencillo y lo puedes hospedar tanto en una Raspberry como en un VPS. Desde luego tenerlo en una Raspberry es algo realmente económico, como ya he comentado en alguna ocasión, estás hablando de 3 o 4 euros al año…

Igualmente, tenerlo en un VPS es muy económico, aunque solo lo dediques a eso. Ten en cuenta que puedes conseguir un VPS por unos 5 euros al mes. Por supuesto, una vez instalas ese servicio es interesante instalar mas servicios, sin temor a consumir todo el ancho de banda. Ten en cuenta que tu eres el único que consume estos servicios. Elijas la opción que elijas, el tener tu propio servicio de streaming es algo realmente sencillo y económico.

Tu propio Spotify

Tu propio Spotify

En que ando metido

Como todos los jueves te cuento en que ando metido para que sepas que vas a encontrar en las próximas o en esta misma semana.

El primero de los artículos es sobre Kitematic, una aplicación para el escritorio y multiplataforma para la gestión de contenedores Docker. No solo te permite gestionar contenedores, sino que también te permite a partir de una imagen disponible en Docker Hub, levantar el contenedor que tu quieras. Por supuesto, puedes personalizar los parámetros de la imagen.

Sinceramente una aplicación super recomendable, ya sea que estás iniciado en el mundo de los contenedores como que no estés ya en él.

El segundo de los artículos es el undécimo capítulo del tutorial sobre Vim. En este capítulo, he recopilado consejos y trucos para ser mas productivo con Vim. Por ejemplo copiar o mover líneas del documento sin desplazarte, intercambiar letras palabras y líneas y otras utilidades similares.

Este es el penúltimo capítulo de la serie. En el último te comentaré sobre como puedes añadir características a Vim, a través de complementos, de forma sencilla. De esta manera podrás personalizar este editor y adaptarlo excactamente a tus necesidades.

¿Porque tu propio Spotify?

¿Porque mi propio Spotify?¿Porque mi propio servicio de música?

Con independencia de que, como he contado ya en varias ocasiones, no soy un apasionado de la música, ni mucho menos. Mas bien, me puedes considerar un consumidor puntual.

Lo cierto es que yo, como tu, hemos comprado música a lo largo de nuestras vidas. Probablemente tu tengas una gran colección, mucho mayor que la mía.

¿Que hacer con todo esa colección?¿La almacenas dejando que se llene de polvo? O como hace cuenta Vicente en su podcast Podcrastinando te has decidido por digitalizar tu música.

Lo cierto es que esa música que escuchas vía streaming en cualquiera de los servicios mas habituales, no es tuya. Simplemente estás pagando por ese servicio, puedes decir que estás pagando un alquiler.

Pero, ya que tengo la música, ¿porque no tenerla en mi propio servicio? Seguramente, me podrías decir, que podría tenerla en Google Music, pero, y el día que a Google le de por cerrar el servicio ¿entonces que harás? Y dado los antecedentes, esto tiene los visos que terminará por ocurrir….

Sobre el mantenimiento

Sin embargo, teniéndolo tu, no te tienes que preocupar de nada… bueno relativamente, porque al final, siempre puede caer tu servicio. En cuyo caso, siempre lo puedes levantar, o que se levante solo, como ya he comentado en alguno de los podcasts anteriores como el episodio 99 en el que te hablo de autoremediaciones para la Raspberry Pi y el episodio 70 en el que te hablo sobre la monitorización en la Raspberry.

Que conste que aunque hable sobre la Raspberry, esto lo puedes aplicar a cualquier otro servidor, NAS o VPS.

¿Como tener tu propio Spotify?

En el tutorial sobre tu nube en la Raspberry Pi te conté como podías montar un servicio de streaming utilizando Ampache.

Sin embargo, gracias a Angel de uGeek, descubrí otro servicio tan interesante como este. Se trata de Supysonic. Este es una implementación de Subsonic pero realizada en Python.

¿Y porque cambiar de Ampache a Supysonic? Simplemente por probar otras alternativas y soluciones, y ver cual es la mas interesante.

Instalación de Supysonic

Como bien te habrás imaginado, el servicio de Supysonic lo he levantado con Docker. Para ello, he creado un fork de la imagen que en su momento hizo Ángel, con algunas ligeras modificaciones.

Puedes encontrar el fork en GitHub en docker-supysonic.

Como también habrás supuesto, he combinado Supysonic con Traefik, para añadir este servicio a todos los que actualmente están corriendo en el servidor y poder acceder fácilmente a él desde cualquier punto con acceso a internet.

Igualmente, puedes levantar tu propio Spotify, sin necesidad de Traefik. Simplemente, no necesitas añadir las líneas labels en tu archivo docker-compose.yml.

En mi caso, el archivo docker-composer.yml tiene el siguiente aspecto,

version: '3'

services:
  supysonic:
    image: atareao/supysonic:amd64-0.5.0
    container_name: supysonic
    restart: unless-stopped
    environment:
      - USER=${USER_FD}
      - PASSWORD=${PASSWORD_FD}
    networks:
      - proxy
    ports:
      - 8080:8080
    volumes:
      - ./supysonic:/var/lib/supysonic
      - ./media:/media
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.supysonic.entrypoints=http"
      - "traefik.http.routers.supysonic.rule=Host(`supysonic.servicio.duckdns.org`)"
      - "traefik.http.middlewares.supysonic-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.supysonic.middlewares=supysonic-https-redirect"
      - "traefik.http.routers.supysonic-secure.entrypoints=https"
      - "traefik.http.routers.supysonic-secure.rule=Host(`supysonic.servicio.duckdns.org`)"
      - "traefik.http.routers.supysonic-secure.tls=true"
      - "traefik.http.routers.supysonic-secure.tls.certresolver=myresolver"

networks:
  proxy:
    external: true

Además he añadido un archivo .env donde están definidos las dos variables correspondientes al usario y contraseña con la que podrás acceder posteriormente a tu servicio. Tanto desde la página web, como desde la aplicación Android.

Llevanto todo tu música a tu propio Spotify

Una vez levantado tu servicio, copia toda tu música al servicio. En este caso, para hacer esta operación de sincronización, he utilizado rsync.

Si no conoces rsync o no lo conoces en profundidad, te recomiendo leas el artículo que dediqué a esta herramienta imprescindible sobre sincronización a fondo con rsync.

En resumen, y en mi caso, ya he utilizado la siguiente instrucción

rsync -rave ssh /volume4/media/musica/ co1:/home/lorenzo/docker/supysonic/media

Si te fijas en el uso de rsync para el destino he puesto co1. Esto es así, por que lo tengo definido en el archivo de configuración de ssh, ~/.ssh/config. Tal y como explico en el artículo sobre ssh a fondo.

Además de esto he tenido que hacer algunas operaciones adicionales, como puede ser el cambiar los permisos a todos los archivos y directorios. Para esto he utilizado mi amado find, con,

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

Y por último borrar una serie de directorios que me ha copiado porque así los tenía en el NAS, pero que desde luego no me aportan nada,

find . -type d -name @eadDir -delete

Una vez que hayas copiado toda tu música, tienes que decirle a Supysonic que la añada a la biblioteca. En este caso, y si has mantenido el contenedor conforme a lo que tenía, la instrucción tiene que ser algo parecida a,

docker exec -it supysonic supysonic-cli folder scan Library

Por supuesto, que sin quieres accder a tu servidor para hacer esta operación, simplemente tienes que ejecutar esta instrucción, siguiendo el criterio indicado anteriormente,

ssh co1 -t "docker exec -it supysonic supysonic-cli folder scan Library"

Esta operación la tendrás que hacer cada vez que añadas nueva música a tu propio Spotify.

Utilizar tu propio Spotify

Perfecto, ahora ya tienes montado tu propio Spotify, pero ¿como lo utilizo? Te puedo hablar del caso de Android, pero seguro que en el caso de iOS, también existe alguna aplicación.

En el caso de Android, tienes varias herramientas disponibles, sin embargo yo te voy a recomendar DSub for Subsonic. Se trata de una aplicación liberada bajo licencia GPL, y que funciona razonablemente bien.


Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.

Imagen de portada de William Iven en Unsplash

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *