Wiki
Clone wikiShampoo / LiquidsoapDebianDefaults
Debian init.d script and default configuration file
default configuration
Here's an example Liquidsoap 'default' configuration script for Debian, save it as /etc/default/liquidsoap.
SHAMPOO_HOST=http://abhoth:8080/ShampooGWT
OFFAIR_FILE=/usr/local/etc/liquidsoap/res/offair.ogg
SEAT_FILE=/usr/local/etc/liquidsoap/shampoo_seats.json
This file contains the default configuration options the init.d Liquidsoap boot script will use
service boot script
= Here's the associated init.d script used to manage the life-cycle of the Liquidsoap daemon. Save it as /etc/init.d/liquidsoap.
#!/bin/sh
### BEGIN INIT INFO
# Provides: liquidsoap
# Required-Start: $remote_fs $network $time
# Required-Stop: $remote_fs $network $time
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts the liquidsoap daemon
# Description:
### END INIT INFO
user=liquidsoap
group=liquidsoap
rundir=/var/run/liquidsoap
commandfile=/usr/local/etc/liquidsoap/run.liq
liquidsoap=/usr/local/bin/liquidsoap
rundir=/var/run/liquidsoap
logdir=/var/log/liquidsoap
# Test if $rundir exists
if [ ! -d $rundir ]; then
mkdir -p $rundir;
chown $user:$group $rundir
fi
# Test if $logdir exists
if [ ! -d $logdir ]; then
mkdir -p $logdir;
chown $user:$group $logdir
fi
#Test if $rundir exists
if [ ! -d $rundir ]; then
mkdir -p $rundir;
chown $user:$group $rundir
fi
# Test if $logdir exists
if [ ! -d $logdir ]; then
mkdir -p $logdir;
chown $user:$group $logdir
fi
pidfile=${rundir}/liquidsoap.pid
runfile=${rundir}/liquidsoap.sock
logfile=${logdir}/liquidsoap.log
. /etc/default/liquidsoap
extra_cmdline="-pid ${pidfile} -socket ${runfile} -log ${logfile}"
if [ ! -z ${SHAMPOO_HOST} ]; then extra_cmdline="${extra_cmdline} -shampoo-host ${SHAMPOO_HOST}"; fi
if [ ! -z ${OFFAIR_FILE} ]; then extra_cmdline="${extra_cmdline} -offair-media ${OFFAIR_FILE}"; fi
if [ ! -z ${SEAT_FILE} ]; then extra_cmdline="${extra_cmdline} -seat-conf ${SEAT_FILE}"; fi
case "$1" in
stop)
echo -n "Stopping liquidsoap channels: "
pidfile=${rundir}/liquidsoap.pid
echo -n "$pidfile "
start-stop-daemon --stop --quiet --pidfile ${pidfile} --retry 4
echo
;;
start)
echo -n "Starting liquidsoap channels: "
pidfile=${rundir}/liquidsoap.pid
start-stop-daemon --start --quiet --pidfile ${pidfile} \
--chuid ${user}:${group} --exec ${liquidsoap} -- ${commandfile} -- ${extra_cmdline}
echo
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload}"
exit 1
;;
esac
Updated