sample-docker.engine.ini 9.29 KB
Newer Older
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

###################
# Engine Settings #
###################

[station]
station_name="Radio Aura"
station_logo_url="https://o94.at/themes/custom/radio_orange/logo1.png"
station_logo_size="180px"


[database]
db_user="aura"
db_name="aura_engine"
db_pass="---SECRET--PASSWORD---"
db_host="localhost"
db_charset="utf8"

[redis]
redis_host="172.17.0.1"
redis_port=6379
redis_db=0

[monitoring]
mail_server="w00fdabd.kasserver.com"
mail_server_port="587"
mail_user="aura@subsquare.at"
mail_pass="---SECRET--PASSWORD---"
David Trattnig's avatar
David Trattnig committed
29
# If you want to send multiple adminmails, make them space separated
30
admin_mail="david@subsquare.at"
David Trattnig's avatar
David Trattnig committed
31
# Which from mailadress should be used
32
33
34
from_mail="monitoring@aura.engine"
# The beginning of the subject. With that you can easily apply filter rules using a mail client
mailsubject_prefix="[Aura Engine]"
David Trattnig's avatar
David Trattnig committed
35
# Server where heartbeat info is sent to
David Trattnig's avatar
Typo.    
David Trattnig committed
36
heartbeat_server = "127.0.0.1"
David Trattnig's avatar
David Trattnig committed
37
38
39
40
# Some UDP port
heartbeat_port = 43334 
# Seconds how often the vitality of the Engine should be checked (0 = disabled)
heartbeat_frequency = 1
41

42
43
44
45
logdir="/var/log/aura"
# Possible values: debug, info, warning, error, critical
loglevel="info"

46
47
48
[api]

# STEERING
David Trattnig's avatar
David Trattnig committed
49
api_steering_status = "http://172.17.0.1:8000/api/v1/"
50
# The URL to get the Calendar via Steering
David Trattnig's avatar
David Trattnig committed
51
api_steering_calendar="http://172.17.0.1:8000/api/v1/playout"
52
# The URL to get show details via Steering
David Trattnig's avatar
David Trattnig committed
53
api_steering_show="http://172.17.0.1:8000/api/v1/shows/${ID}/"
54
55

# TANK
David Trattnig's avatar
David Trattnig committed
56
api_tank_status = "http://172.17.0.1:8040/ui/"
57
# The URL to get playlist details via Tank
David Trattnig's avatar
David Trattnig committed
58
api_tank_playlist="http://172.17.0.1:8040/api/v1/shows/${SLUG}/playlists"
59
60

# URL and Port of the API endpoints exposed by engine
David Trattnig's avatar
David Trattnig committed
61
exposed_api_url="http://172.17.0.1:3333/api/v1/"
62
63
api_port=3333

David Trattnig's avatar
David Trattnig committed
64
65
[scheduling]
# How often should the calendar be fetched in seconds. This determines the time of the last changes applied, before a specific show aired
David Trattnig's avatar
David Trattnig committed
66
67
fetching_frequency=300
# How many seconds before the actual schedule time the entry should be pre-rolled. Note to provide enough timeout for
David Trattnig's avatar
David Trattnig committed
68
# contents which take longer to load (big files, bad connectivity to streams etc.)
David Trattnig's avatar
David Trattnig committed
69
70
71
72
73
preroll_offset=15
# Max seconds before an new/updated/removed schedule is accepted. Its important that this value
# is considerable higher than the `preroll_offset` plus any additional time for pro-active fallback
# handling, being able to avoid issues with concurrent changes or timings.
scheduling_window_offset=180
74
75
# Playlist ID which is used for station fallbacks. Only used if no station fallback ID is provided via Steering. "0" means it is disabled.
scheduling_station_fallback_id=0
David Trattnig's avatar
David Trattnig committed
76
77
78

# Sometimes it might take longer to get a stream connected. Here you can define a viable length.
# But note, that this may affect the preroll time (see `preroll_offset`), hence affecting the 
David Trattnig's avatar
David Trattnig committed
79
# overall playout, it's delays and possible fallbacks
David Trattnig's avatar
David Trattnig committed
80
81
input_stream_retry_delay=1
input_stream_max_retries=10
82
input_stream_buffer=3.0
David Trattnig's avatar
David Trattnig committed
83

84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# sets the time how long we have to fade in and out, when we select another mixer input
# values are in seconds
# this is solved on engine level because it is kind of tough with liquidsoap
[fading]
fade_in_time="0.5"
fade_out_time="2.5"

#######################
# Liquidsoap Settings #
#######################

# all these settings from here to the bottom require a restart of the liquidsoap server

[lqs]
liquidsoap_path="/home/engineuser/.opam/4.08.0/bin/liquidsoap"
liquidsoap_working_dir="modules/liquidsoap/"

# Liquidsoap execution delay in seconds; Crucial to keep things in sync
lqs_delay_offset=1

[user]
# the user and group under which this software will run
daemongroup="engineuser"
daemonuser="engineuser"

[socket]
socketdir="/opt/aura/engine/modules/liquidsoap"

[audiofolder]
audiofolder="/var/audio"

[fallback]
# track_sensitive => fallback_folder track sensitivity
# max_blank => maximum time of blank from source (defaults to 20., seconds, float)
# min_noise => minimum duration of noise on source to switch back over (defaults to 0, seconds, float)
# threshold => power in dB under which the stream is considered silent (defaults to -40., float)
fallback_max_blank="20."
fallback_min_noise="0."
fallback_threshold="-50."

# a folder holding music for station-fallbacks
fallback_music_folder=""
fallback_show_name="Random Music"
fallback_show_type="Unmoderated Music"
fallback_show_host="Magic Shuffle"
fallback_title_not_available="Title not available"


[soundcard]
# choose your weapon
# if you are starving for pain in the ass choose alsa
# if you don't care about latency choose pulseaudio
# if you want low latency and a bit of experimenting, choose jack
soundsystem="alsa"

# you can define up to 5 inputs and outputs
# it is tested with
#  - ALSA with ONE input and ONE output
#  - pulseaudio with ONE input and ONE output (should work with multiple ins/outs)
#  - jack with multiple inputs and outputs
#
# boundaries:
#  - if you use jack, you have to kill liquidsoap. somehow liquidsoap cannot disconnect from jackd when shutting down
#
# with alsa you have to write the devicenames like hw:0
# with pulse and jack => an non empty value means it is used
# devices with empty string are ignored and not used
David Trattnig's avatar
David Trattnig committed
151
input_device_0=""
152
153
154
155
156
input_device_1=""
input_device_2=""
input_device_3=""
input_device_4=""
# same same, but different
David Trattnig's avatar
David Trattnig committed
157
output_device_0="default"
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
output_device_1=""
output_device_2=""
output_device_3=""
output_device_4=""

# if you are using alsa, you most probably have to tweak these values
# out of the box you will hear alot of cracklings and artifacts

# alsa_buffer => int
#alsa_buffer="8192"
alsa_buffer="16384"
# alsa_buffer_length => int
alsa_buffer_length="25"
# alsa_periods => int
alsa_periods="0"
# frame_duration => double
frame_duration=""
# frame_size => int
frame_size=""

#####################
# Recorder Settings #
#####################

# you can define up to 5 recorder types.
183
# flac, mp3, ogg, opus and wav is supported
184
185
186
187
188
189

[recording]
# flac example
# enable this recorder. everything else than 'y' is considered as disabled
rec_0="n"
# first set a folder
190
rec_0_folder="/var/recordings/flac"
191
192
193
194
195
196
197
198
199
# after how many minutes the recording will be cut
rec_0_duration="30"
# file (or encoding-) type
rec_0_encoding="flac"
# bitrate (with encoding types without bitrate like flac or wav it is substituted. 32 => very poor quality. 320 => very high quality)
rec_0_bitrate="128"
# channels: everything else than 2 is considered as mono
rec_0_channels="2"

200
# mp3 example
201
rec_1="n"
202
rec_1_folder="/var/audio/rec/mp3"
203
rec_1_duration="30"
204
205
rec_1_encoding="mp3"
rec_1_bitrate="320"
206
207
208
209
rec_1_channels="2"

# mp3 example
rec_2="n"
210
rec_2_folder="/var/audio/rec/mp3"
211
212
rec_2_duration="30"
rec_2_encoding="mp3"
213
rec_2_bitrate="192"
214
215
216
217
rec_2_channels="2"

# ogg example
rec_3="n"
218
rec_3_folder="/var/recordings/ogg"
219
220
221
222
223
224
225
rec_3_duration="30"
rec_3_encoding="ogg"
rec_3_bitrate="320"
rec_3_channels="2"

# opus example
rec_4="n"
226
rec_4_folder="/var/recordings/opus"
227
228
229
230
231
232
233
rec_4_duration="30"
rec_4_encoding="opus"
rec_4_bitrate="32"
rec_4_channels="2"

# wav example
#rec_4="n"
234
#rec_4_folder="/var/recordings/wav"
235
236
237
238
239
240
241
242
243
244
#rec_4_duration="30"
#rec_4_filetype="wav"
#rec_4_bitrate="320"
#rec_4_channels="2"

###################
# Stream Settings #
###################

# You can define up to outgoing 5 streams
245
# flac, mp3, ogg and opus is supported
246
247
248
249

[stream]
# defines enabled or not
stream_0="n"
250
251
# possible values: flac, mp3, ogg, opus (depending on what liquidsoap-plugins you installed)
stream_0_encoding="ogg"
252
253
254
255
256
257
258
259
260
# bitrate (with encoding types without bitrate like flac or ogg it is substituted. 32 => very poor quality. 320 => very high quality)
stream_0_bitrate="128"
# how many channels? everything else than 2 is considered as mono
stream_0_channels="2"
# to where we are streaming..?
stream_0_host="localhost"
# and which port?
stream_0_port="8888"
# the name of the mountpoint
261
stream_0_mountpoint="aura-test-0.ogg"
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
# username
stream_0_user="source"
# and the password
stream_0_password="source"
# stream url
stream_0_url="http://www.fro.at"
# the name of the stream
stream_0_name="AURA Test Stream 0"
# the genre of the stream
stream_0_genre="mixed"
# description of the stream
stream_0_description="Test Stream 0"

stream_1="n"
stream_1_encoding="flac"
stream_1_bitrate="128"
stream_1_channels="2"

stream_1_host="localhost"
stream_1_port="8888"
stream_1_mountpoint="aura-test-1.flac"
stream_1_user="source"
stream_1_password="source"

stream_1_url="http://www.fro.at"
stream_1_name="AURA Test Stream 1"
stream_1_genre="mixed"
stream_1_description="Test Stream 1"

stream_2="n"
stream_2_encoding="mp3"
stream_2_bitrate="64"
stream_2_channels="2"

stream_2_host="localhost"
stream_2_port="8888"
stream_2_mountpoint="aura-test-2.mp3"
stream_2_user="source"
stream_2_password="source"

stream_2_url="http://www.fro.at"
stream_2_name="AURA Test Stream 2"
stream_2_genre="mixed"
stream_2_description="Test Stream 2"

stream_3="n"
stream_3_encoding="ogg"
stream_3_bitrate="64"
stream_3_channels="2"

stream_3_host="localhost"
stream_3_port="8888"
stream_3_mountpoint="aura-test-3.ogg"
stream_3_user="source"
stream_3_password="source"

stream_3_url="http://www.fro.at"
stream_3_name="AURA Test Stream 3"
stream_3_genre="mixed"
stream_3_description="Test Stream 3"

stream_4="n"
stream_4_encoding="opus"
stream_4_bitrate="64"
stream_4_channels="2"

stream_4_host="localhost"
stream_4_port="8888"
stream_4_mountpoint="aura-test-4.opus"
stream_4_user="source"
stream_4_password="source"

stream_4_url="http://www.fro.at"
stream_4_name="AURA Test Stream 3"
stream_4_genre="mixed"
stream_4_description="Test Stream 3"