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/ ; ./configure ; \
|
||||||
cd edcast-jack-3.1.7/ ; make ; \
|
cd edcast-jack-3.1.7/ ; make ; \
|
||||||
cd edcast-jack-3.1.7/ ; make install
|
cd edcast-jack-3.1.7/ ; make install
|
||||||
|
COPY edcast.cfg /home/rduser/edcast.cfg
|
||||||
|
|
||||||
|
|
||||||
# Configure icecast
|
# 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
|
apt-get -y install rivendell rivendell-server rivendell-doc mysql-server jack-rack jamin jackd qjackctl
|
||||||
|
|
||||||
COPY rd.conf /etc/rd.conf
|
COPY rd.conf /etc/rd.conf
|
||||||
|
COPY init.sh /home/rduser/init.sh
|
||||||
|
|
||||||
|
|
||||||
# Install Alsa (is this necessary?)
|
# Install Alsa (is this necessary?)
|
||||||
|
@ -85,22 +87,3 @@ EXPOSE 8000
|
||||||
|
|
||||||
# Set boot command
|
# Set boot command
|
||||||
CMD /start
|
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
|
||||||
|
|
13
start
13
start
|
@ -1,3 +1,14 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
supervisord
|
# 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]
|
[program:sshd]
|
||||||
command=/usr/sbin/sshd -D
|
command=/usr/sbin/sshd -D
|
||||||
autorestart=true
|
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