
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
allí vas a encontrar un wizard…..
De momento me paro aquí, el resto mañana, que tengo otros labores que hacer ahora.