Configure edcast and get things running at boot
This commit is contained in:
parent
453443bcae
commit
d9f63fdacc
21
Dockerfile
21
Dockerfile
|
@ -22,6 +22,7 @@ RUN tar zxvf /tmp/edcast-jack-3.1.7.tar.gz ; \
|
|||
cd edcast-jack-3.1.7/ ; ./configure ; \
|
||||
cd edcast-jack-3.1.7/ ; make ; \
|
||||
cd edcast-jack-3.1.7/ ; make install
|
||||
COPY edcast.cfg /home/rduser/edcast.cfg
|
||||
|
||||
|
||||
# Configure icecast
|
||||
|
@ -50,6 +51,7 @@ RUN apt-get update ; \
|
|||
apt-get -y install rivendell rivendell-server rivendell-doc mysql-server jack-rack jamin jackd qjackctl
|
||||
|
||||
COPY rd.conf /etc/rd.conf
|
||||
COPY init.sh /home/rduser/init.sh
|
||||
|
||||
|
||||
# Install Alsa (is this necessary?)
|
||||
|
@ -85,22 +87,3 @@ EXPOSE 8000
|
|||
|
||||
# Set boot command
|
||||
CMD /start
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
vncserver -geometry 1280x800 :0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#docker build -t rivendell2 .
|
||||
|
||||
|
||||
# TODO: cleanup extra packages like g++, make, etc
|
||||
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
# Destination server details (to where you are encoding). Valid server types : Shoutcast, Icecast, Icecast2
|
||||
ServerType=Icecast2
|
||||
Server=127.0.0.1
|
||||
Port=8000
|
||||
ServerPassword=source
|
||||
ServerMountpoint=/stream
|
||||
# YP (Stream Directory) Settings
|
||||
ServerPublic=0
|
||||
ServerIRC=
|
||||
ServerAIM=
|
||||
ServerICQ=
|
||||
ServerStreamURL=
|
||||
ServerName=Docker Rivendell Test Stream
|
||||
ServerDescription=
|
||||
ServerGenre=Genre
|
||||
AutomaticReconnectSecs=1
|
||||
AutoConnect=0
|
||||
# Output codec selection (Valid selections : MP3, OggVorbis, Ogg FLAC, AAC, AAC Plus)
|
||||
Encode=MP3
|
||||
# General settings (non-codec related). Note : NumberChannels = 1 for MONO, 2 for STEREO
|
||||
BitrateNominal=128
|
||||
BitrateMin=128
|
||||
BitrateMax=128
|
||||
NumberChannels=2
|
||||
Samplerate=48000
|
||||
# Ogg Vorbis specific settings. Note: Valid settings for BitrateQuality flag are (Quality, Bitrate Management)
|
||||
OggQuality=0
|
||||
OggBitrateQualityFlag=Quality
|
||||
# LAME specific settings. Note: Setting the low/highpass freq to 0 will disable them.
|
||||
LameCBRFlag=1
|
||||
LameQuality=1
|
||||
LameCopywrite=0
|
||||
LameOriginal=0
|
||||
LameStrictISO=0
|
||||
LameDisableReservior=0
|
||||
LameVBRMode=vbr_abr
|
||||
LameLowpassfreq=0
|
||||
LameHighpassfreq=0
|
||||
LAMEPreset=0
|
||||
# AAC (FAAC) specific settings.
|
||||
AACQuality=100
|
||||
AACCutoff=
|
||||
# Log Level 1 = LOG_ERROR, 2 = LOG_ERROR+LOG_WARNING, 3 = LOG_ERROR+LOG_WARNING+LOG_DEBUG
|
||||
LogLevel=1
|
||||
# Log File
|
||||
LogFile=/dev/null
|
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash
|
||||
|
||||
sleep 5
|
||||
|
||||
/etc/init.d/apache2 start
|
||||
|
||||
# Wait for mysql to come online
|
||||
while [ "`ps aux | grep mysqld_safe | grep -v grep | wc -l`" -eq 0 ] ; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# Create rivendell database if it doesn't exist
|
||||
DBS=`echo "show databases ; " | mysql -u root -proot | grep Rivendell | wc -l`
|
||||
if [ $DBS -eq 0 ] ; then
|
||||
# Assume this is a first run and do some other stuff
|
||||
chmod 777 /var/run/rivendell/
|
||||
chown -R rduser /var/snd
|
||||
DISPLAY=:0 rdadmin --check-db --mysql-admin-user=root --mysql-admin-password=root --mysql-admin-hostname=127.0.0.1 --mysql-admin-dbname=Rivendell
|
||||
fi
|
||||
|
||||
rdadmin --check-db
|
||||
|
||||
# Start gui apps
|
||||
|
||||
su -c "DISPLAY=:0 rdairplay &" rduser
|
||||
su -c "DISPLAY=:0 jamin &" rduser
|
||||
|
||||
sleep 5
|
||||
|
||||
# Disconnect jamin from system audio
|
||||
su -c "jack_disconnect jamin:out_L system:playback_1" rduser
|
||||
su -c "jack_disconnect jamin:out_R system:playback_2" rduser
|
||||
|
||||
# Connect rivendell to jamin
|
||||
|
||||
su -c "jack_connect rivendell_0:playout_0R jamin:in_R" rduser
|
||||
su -c "jack_connect rivendell_0:playout_0L jamin:in_L" rduser
|
||||
|
11
start
11
start
|
@ -1,3 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Clear any stranded lock files
|
||||
rm -rf /tmp/.X*
|
||||
rm -f /home/rduser/.rdairplaylock
|
||||
|
||||
# start vnc
|
||||
su -c "vncserver -geometry 1280x800 :0" rduser
|
||||
|
||||
# Rivendel init
|
||||
/home/rduser/init.sh &
|
||||
|
||||
# start services
|
||||
supervisord
|
|
@ -9,3 +9,17 @@ autorestart=true
|
|||
[program:sshd]
|
||||
command=/usr/sbin/sshd -D
|
||||
autorestart=true
|
||||
|
||||
[program:mysql]
|
||||
command=/usr/bin/mysqld_safe
|
||||
autorestart=true
|
||||
|
||||
[program:jackd]
|
||||
command=/usr/bin/jackd -r -t2000 -ddummy -r48000 -p1024
|
||||
user=rduser
|
||||
autorestart=true
|
||||
|
||||
[program:edcast]
|
||||
command=/usr/local/bin/edcast_jack -c /home/rduser/edcast.cfg -n stream -p jamin:out_
|
||||
user=rduser
|
||||
autorestart=true
|
||||
|
|
Loading…
Reference in New Issue