summaryrefslogtreecommitdiff
path: root/roles/streaming/icecast/templates/icecast.xml.j2
blob: 0319114f705668bc31a592809f2faa6ea29cc237 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<icecast>
<!-- ***** global ***** -->
    <limits>
        <threadpool>5</threadpool>
        <queue-size>524288</queue-size>
        <clients>100000</clients>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <burst-on-connect>1</burst-on-connect>
        <burst-size>32768</burst-size>
    </limits>

    <authentication>
{% if 'source_password' in item.value %}
        <source-password>{{ item.value.source_password }}</source-password>
{% endif %}
{% if 'relay_password' in item.value %}
        <relay-password>{{ item.value.relay_password }}</relay-password>
{% endif %}
        <admin-user>{{ item.value.admin.username }}</admin-user>
        <admin-password>{{ item.value.admin.password }}</admin-password>
    </authentication>

{% if 'hostname' in item.value %}
    <hostname>{{ item.value.hostname }}</hostname>
{% endif %}
{% if 'location' in item.value %}
    <location>{{ item.value.location }}</location>
{% endif %}
{% if 'contact' in item.value %}
    <admin>{{ item.value.contact }}</admin>
{% endif %}


<!-- ***** listeners ***** -->
{% for listener in item.value.listeners %}
    <listen-socket>
        <port>{{ listener.port }}</port>
{%   if 'shoutcast_mountpoint' in listener %}
        <shoutcast-mount>{{ listener.shoutcast_mountpoint }}</shoutcast-mount>
{%   endif  %}
    </listen-socket>

{% endfor %}

{% if 'mountpoints' in item.value %}
<!-- ***** mountpoints ***** -->
{%   for mountpoint, config in item.value.mountpoints.items() %}
    <mount>
        <mount-name>{{ mountpoint }}</mount-name>
{%     if 'username' in config %}
        <username>{{ config.username }}</username>
{%     endif  %}
        <password>{{ config.password }}</password>
{%     if 'max_listeners' in config %}
        <max-listeners>{{ config.max_listeners }}</max-listeners>
{%     endif  %}
    </mount>

{%   endfor %}

{% endif %}
<!-- ***** aux ***** -->
    <fileserve>1</fileserve>
    <paths>
        <basedir>/usr/share/icecast2</basedir>
        <logdir>/srv/logs</logdir>
        <webroot>/usr/share/icecast2/web</webroot>
        <adminroot>/usr/share/icecast2/admin</adminroot>
        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <errorlog>-</errorlog>
        <accesslog>access.log</accesslog>
        <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
        <logsize>10240</logsize> <!-- 10MB-->
    </logging>

    <security>
        <chroot>0</chroot>
    </security>
<!-- ***** end ***** -->
</icecast>