Libretime: La radio web

Parte 1

Libretime es un programa que permite con facilidad poner en marcha una radio por internet. Prácticamente todas las radios del mundo usan programas con estas funcionalidades, algunos de pagos y otros libres.

En concreto este programa permite hacer una programación de eventos (una parrilla) donde le podemos decir que a las 11:15 haya un programa musical, y a las 12:00 hay el informativo y así en adelante.

Se puede incluso hacer directos desde un móvil y los oyentes van a escuchar en directo lo que ocurre desde este móvil.

Dada la presentación ahora la receta. Este articulo lo he partido en varias partes, porque es un poco lioso

Instalar libretime en una maquina real es posible desde tiempo, pero dedicar un equipo solo para esto es un desperdicio. Al mismo tiempo Libretime como que está aún en una fase alpha y el viejo airtime.. es muy viejo y por lo tanto no podemos exponer este programa a internet (de momento).

Así que he encontrado esta forma:

Poner libretime en docker junto con otros servicios (Icecast, pihole, NFS, y experimentos)

Luego desde otro servidor con traefik (u otro proxy) exponer a internet solo icecast, mientras que este, hace de relay automático a Libretime.
De esta forma solo podrá ser administrado desde la red interna mientras que la gente podrá escuchar las transmisiones desde icecast.

Icecast es muy muy fácil de incrustar en un blog, así que la gente layando tu blog podrá escuchar tu programa

Es un poco lioso, pero vamos desganando el tema poco a poco

Server 1
Este es el servidor donde está instalado traefik 1.7 y es el proxy de toda la red. Este equipo traslada las peticiones desde fuera al equipo correcto según las reglas que le vamos a programar.
Pero de momento esto lo dejamos de lado y volvemos la atención al server 2

Server2
tiene instalado docker, docker-compose, piHole, un servicio NFS para las copias de seguridad de la red internas y poco más.

Aquí vamos a instalar libretime y icecast


cd /opt
git clone https://github.com/kessibi/libretime-docker.git
cd libretime-docker

copia y pega este docker compose (o modifica lo que has bajado antes)

version: "2"
#version: "3.6"

# make sure to have a .env file in the same directory;
#
# to use volumes, make sure to uncomment the appropriate volumes sections lines
# 15 to 21 and 28, 29.

services:
  libretime:
    #image: odclive/libretime-docker:latest
#    image: libretime:latest
    build: .
    container_name: libretime
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TZ}
    # volumes:
    #  - ${USERDIR}/docker/libretime/airtime:/etc/airtime
    #  - ${USERDIR}/docker/libretime/stor:/srv/airtime/stor
    #  - ${USERDIR}/docker/libretime/watch:/srv/airtime/watch
    #  - libretime_postgres:/var/lib/postgresql/11/main
    #  - ${USERDIR}/docker/libretime/liquidsoap:/usr/local/lib/python3.7/dist-packages/airtime_playout-1.0-py3.7.egg/liquidsoap/

#    volumes:
#     - ./icecast.xml:/etc/icecast2/icecast.xml
#     - ./icecast_pass:/etc/airtime/icecast_pass

    ports:
      - 180:80
      - 18000:8000
      - 18001:8001
    restart: always
    networks:
      - web

# volumes:
#  libretime_postgres:
    labels:
      # This one is important since we default to not expose
      #- "traefik.enable=true"
      #- "traefik.frontend.rule=Host:radio.tormentasolar.win"
      - "traefik.docker.network=web"
      - "traefik.http.middlewares.test-redirectscheme.redirectscheme.scheme=https"
      - "traefik.http.middlewares.test-redirectscheme.redirectscheme.permanent=true"
networks:
  web:
    external: true

y ahora

docker-compose up -d

en pocos minutos vas a tener libretime lista para usar.

vete con el navegador a http://ip-del servidor:180 en mi caso es

http://192.168.0.51:180

allí vas a encontrar un wizard…..

De momento me paro aquí, el resto mañana, que tengo otros labores que hacer ahora.

Comments are closed.