Blog del Podcast
podcast      GitHub      Twitter   Telegram

Gonic. El mejor y más ligero servidor de música con api Subsonic

Tiempo estimado de lectura: 7 minutos. 857 palabras. subsonic

El desarrollador Senan Kelly, ha creado Gonic, un servidor ultra rápido y ligero (En mi Raspberry Pi consume solo 12-19 Mb de ram) que mejora todavía más la experiencia en dispositivos como una Raspberry Pi.

Las características de este servidor son:

Que no tiene: Tenemos que tener en cuenta un pequeño detalle, para que aparezcan las portadas de nuestras discos en los clientes, tenemos que dejar en la carpeta donde tenemos los archivos mp3, flac,… un archivo jpg o png con el nombre folder. Ejemplo. folder.jpg. Gonic entenderá que es una portada y la enviará al cliente para que sea visualizada.

De momento no integra el poder poner una estrella o puntuación a una canción.

Por lo demás, es un servidor alucinante y que sincroniza a la perfección y de un modo muy rápido.

Docker para Raspberry Pi, ARM

La imagen, tan solo tiene 27.68 MB

docker create \
  --name=gonic \
  -p 88:80 \
  -v $HOME/media/musica:/music:ro \
  -v $HOME/docker/gonic/data:/data \
  -v $HOME/docker/gonic/cache:/cache \
  -v $HOME/docker/gonic/podcasts:/podcasts \     
  ugeek/gonic:arm

Docker-compose para Raspberry Pi, ARM

version: "3"
services:
  gonic_web:
    image: ugeek/gonic:arm
    container_name: gonic
    ports:
      - 88:80
    volumes:
      - $HOME/docker/gonic/musica:/music:ro
      - $HOME/docker/gonic/podcasts:/podcasts
      - $HOME/docker/gonic/data:/data
      - $HOME/docker/gonic/cache:/cache

Docker oficial para amd64

docker create \
  --name=gonic \
  -p 88:80 \
  -v $HOME/media/musica:/music:ro \
  -v $HOME/docker/gonic/data:/data  \
  -v $HOME/docker/gonic/cache:/cache \
  -v $HOME/docker/gonic/podcasts:/podcasts \
  sentriz/gonic:latest

Administración de Gonic

En el montaje del docker, del paso anterior, he tomado de ejemplo el puerto 88. Para acceder a la página de administración, tendríamos que conectarnos a la ip de nuestro servidor puerto 88. http://ip:88

Crear listas en m3u8

Que es una lista m3u8

Los archivos M3U8 son listas de reproducción como los m3u, con la diferencia que los archivos m3u8 utilizan el estándar de codificación de caracteres UTF-8. Esto significa que las listas pueden contener nombres escritos en distintos idiomas y caracteres.

El archivo de texto sin formato contiene información sobre la ubicación de las canciones en la lista de reproducción.

Un ejemplo de archivo m3u8 sería:

/music/The Rolling Stones/The Rolling Stones - (I Can't Get No) Satisfaction.mp3
/music/The Rolling Stones/The Rolling Stones - Sympathy for the Devil.mp3
/music/./track

Listar toda tu música

Para listar toda la música que tenemos, nos situariamos en la raíz del docker y ejecutaríamos el comando find:

find /music/ > all_music.list

Crear Listas

Entramos dentro del contenedor

docker exec  -it gonic sh

Ahora corremos find para listar todas las canciones de un directorio. En este ejemplo voy listar todas las canciones mp3 del directorio The Rolling Stones.

find /music/"The Rolling Stones" | grep mp3

Voy a crear mi lista en formato m3u8 de las canciones en formato flac de este directorio

find /music/"The Rolling Stones" | grep flac > lista.m3u8

Desde la Terminal

Accedemos al interior del docker

docker exec  -it gonic sh

Ejecutamos para ver la ayuda

gonic -h
Usage of gonic:
-cache-path string
path to cache (default "/tmp/gonic_cache")
-config-path string
path to config (optional)
-db-path string
path to database (optional) (default "gonic.db")
-listen-addr string
listen address (optional) (default "0.0.0.0:4747")
-music-path string
path to music
-proxy-prefix string
url path prefix to use if behind proxy. eg '/gonic' (optional)
-scan-interval int
interval (in minutes) to automatically scan music (optional)
-version
show gonic version

Con los comandos de terminal, podemos hacer que se hagan sincronizaciones de nuestra biblioteca añadiendo cada cuantos minutos queremos que se produzca.

Para más información, os recomiendo visitar el repositorio del proyecto.

Conclusión

La ligereza de Gonic, bajos recursos y la creación de listados, hace que este servidor sea ideal, sobretodo para servidores como una Raspberry Pi.

Fuente


Publicado por Angel el Wednesday 06 May del 2020 y actualizado el Thursday 04 February del 2021



También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.