myircbot/config/entrypoint.sh
2025-05-29 22:58:53 +02:00

44 lines
1.3 KiB
Bash

#!/bin/sh
set -e
# Si el Dockerfile ya crea /var/lib/radio-data/music con permisos icecast2:icecast2,
# solo hacemos el symlink.
#echo "[ENTRYPOINT] Creando enlace simbólico hacia /var/lib/radio/music"
#ln -sf /var/lib/radio-data/music /var/lib/radio/music
echo "[ENTRYPOINT] Sustituyendo credenciales..."
envsubst < /config/icecast.xml > /config/icecast_final.xml
envsubst < /config/liquidsoap.liq > /config/liquidsoap_final.liq
echo "[ENTRYPOINT] Copiando cookies..."
cp -f /cookies-secret/cookies.txt /app/cookies.txt
chmod 666 /app/cookies.txt
echo "[ENTRYPOINT] Iniciando Icecast..."
icecast2 -c /config/icecast_final.xml &
sleep 3
echo "[ENTRYPOINT] Asegurando que el directorio de sockets de Liquidsoap existe..."
mkdir -p /var/run/liquidsoap
chown -R icecast2:icecast2 /var/run/liquidsoap
chmod -R 755 /var/run/liquidsoap
echo "[ENTRYPOINT] Iniciando Liquidsoap..."
liquidsoap /config/liquidsoap_final.liq &
sleep 3
echo "[ENTRYPOINT] Verificando si Liquidsoap ya está corriendo..."
if pgrep -x "liquidsoap" > /dev/null; then
echo "[ENTRYPOINT] Liquidsoap ya está corriendo. Matándolo..."
pkill -9 liquidsoap
sleep 2 # Esperar un momento para que libere el puerto
fi
echo "[ENTRYPOINT] Iniciando Liquidsoap..."
liquidsoap /config/liquidsoap_final.liq &
sleep 3
echo "[ENTRYPOINT] Iniciando el bot..."
exec python3 bot.py