Added radio stuff

This commit is contained in:
Fergal Moran
2015-09-20 20:49:22 +01:00
parent 969804a019
commit b74b585e65
6 changed files with 135 additions and 0 deletions

View File

@@ -1,3 +1,9 @@
radio:
build: ./radio
command: supervisord -n -c /etc/supervisord.conf
ports:
- "8999:8999"
rabbitmq: rabbitmq:
image: tutum/rabbitmq image: tutum/rabbitmq
environment: environment:

View File

@@ -1,3 +1,15 @@
server {
listen 80;
server_name radio.deepsouthsounds.com;
location / {
proxy_pass http://radio:8351;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server { server {
listen 80; listen 80;
server_name api.deepsouthsounds.com api-test.deepsouthsounds.com; server_name api.deepsouthsounds.com api-test.deepsouthsounds.com;

14
radio/Dockerfile Normal file
View File

@@ -0,0 +1,14 @@
FROM ubuntu:wily
MAINTAINER Fergal Moran "Ferg@lMoran.me"
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get -qq -y update && \
apt-get -qq -y install icecast2 python-setuptools && \
apt-get clean
RUN easy_install supervisor && \
easy_install supervisor-stdout
ADD icecast2/icecast.xml /etc/icecast2/
ADD default/icecast2 /etc/default/
ADD supervisord.conf /etc/supervisord.conf

19
radio/default/icecast2 Normal file
View File

@@ -0,0 +1,19 @@
# Defaults for icecast2 initscript
# sourced by /etc/init.d/icecast2
# installed at /etc/default/icecast2 by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Full path to the server configuration file
CONFIGFILE="/etc/icecast2/icecast.xml"
# Name or ID of the user and group the daemon should run under
USERID=icecast2
GROUPID=icecast
# Edit /etc/icecast2/icecast.xml and change at least the passwords.
# Change this to true when done to enable the init.d script
ENABLE=true

51
radio/icecast2/icecast.xml Executable file
View File

@@ -0,0 +1,51 @@
<icecast>
<location>Cork Like</location>
<admin>icemaster@deepsouthsounds.com</admin>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>
<authentication>
<source-password>RDzNlgqmj67vk</source-password>
<relay-password>9PmUbI1mLne9o</relay-password>
<admin-user>admin</admin-user>
<admin-password>CrVuP5evoJZ0.</admin-password>
</authentication>
<hostname>radio.deepsouthsounds.com</hostname>
<listen-socket>
<port>8351</port>
<shoutcast-mount>/dss</shoutcast-mount>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<basedir>/usr/share/icecast2</basedir>
<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>
<alias source="/" destination="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel>
<logsize>10000</logsize>
</logging>
<security>
<chroot>0</chroot>
</security>
</icecast>

33
radio/supervisord.conf Normal file
View File

@@ -0,0 +1,33 @@
[unix_http_server]
file=/tmp/supervisor.sock
[supervisord]
logfile=/tmp/supervisord.log
logfile_maxbytes=50MB
logfile_backups=10
loglevel=info
pidfile=/tmp/supervisord.pid
nodaemon=false
minfds=1024
minprocs=200
user=icecast2
[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
[program:icecast2]
user=icecast2
command=icecast2 -n -c /etc/icecast2/icecast.xml
stopsignal=6
stdout_events_enabled=true
stderr_events_enabled=true
autorestart=true
[eventlistener:stdout]
command=supervisor_stdout
buffer_size=100
events=PROCESS_LOG
result_hander=supervisor_stdout:event_handler