sample-docker.engine.ini 10.3 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

###################
# 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---"
David Trattnig's avatar
David Trattnig committed
16
db_host="127.0.0.1"
17
18
19
20
db_charset="utf8"


[monitoring]
21
mail_server="mail.your-radio.org"
22
23
24
mail_server_port="587"
mail_user="aura@subsquare.at"
mail_pass="---SECRET--PASSWORD---"
25

26
27
28
29
# Set to "true" if you want to notify programme-coordinators about about fallback situations, otherwise "false"
mail_coordinator_enabled="true"
# If you want to address multiple programme-coordinators separate their emails by space
coordinator_mail="programme-coordinator@your-radio.org"
30
31
# Set to "true" if you want to notify admins about incidents, otherwise "false"
mail_admin_enabled="true"
32
# If you want to address multiple administrators separate their emails by space
33
34
admin_mail="admin@your-radio.org"
# The FROM email address used when sending
35
from_mail="monitoring@aura.engine"
36
37
# A subject prefix allows applying filter rules in your mail client
mailsubject_prefix="[AURA Engine]"
38

David Trattnig's avatar
David Trattnig committed
39
# Server where heartbeat info is sent to
40
heartbeat_server = "127.0.0.1"   
David Trattnig's avatar
David Trattnig committed
41
42
43
44
# Some UDP port
heartbeat_port = 43334 
# Seconds how often the vitality of the Engine should be checked (0 = disabled)
heartbeat_frequency = 1
45

46
logdir="/home/username/code/aura/engine/logs"
47
48
49
# Possible values: debug, info, warning, error, critical
loglevel="info"

50

51
52
[api]

David Trattnig's avatar
David Trattnig committed
53
54
55
## STEERING ##

# The URL to get the health status 
56
api_steering_status="http://127.0.0.1:8000/api/v1/"
57
# The URL to get the Calendar via Steering
David Trattnig's avatar
David Trattnig committed
58
59
60
api_steering_calendar="http://127.0.0.1:8000/api/v1/playout"

## TANK ##
61

62
63
64
65
# The session name which is used to authenticate against Tank
api_tank_session="engine"
# The secret which is used to authenticate against Tank
api_tank_secret="rather-secret"
David Trattnig's avatar
David Trattnig committed
66
# The URL to get the health status 
67
api_tank_status="http://127.0.0.1:8040/healthz/"
68
# The URL to get playlist details via Tank
David Trattnig's avatar
David Trattnig committed
69
70
api_tank_playlist="http://127.0.0.1:8040/api/v1/playlists/${ID}"

David Trattnig's avatar
David Trattnig committed
71
72
73
## ENGINE-API ##

# Engine ID (1 or 2)
74
api_engine_number=1
David Trattnig's avatar
David Trattnig committed
75
# Engine API availability check
76
api_engine_status="http://127.0.0.1:8008/api/v1/ui/"
David Trattnig's avatar
David Trattnig committed
77
# Engine API endpoint to store playlogs
78
api_engine_store_playlog="http://127.0.0.1:8008/api/v1/playlog/store"
David Trattnig's avatar
David Trattnig committed
79
# Engine API endpoint to store clock information
80
api_engine_store_clock="http://127.0.0.1:8008/api/v1/clock"
David Trattnig's avatar
David Trattnig committed
81
# Engine API endpoint to store health information
82
api_engine_store_health="http://127.0.0.1:8008/api/v1/source/health/${ENGINE_NUMBER}"
83
84


David Trattnig's avatar
David Trattnig committed
85
[scheduling]
86

David Trattnig's avatar
David Trattnig committed
87
# 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
88
fetching_frequency=300
89
90
91
# The scheduling window defines when the entries of each timeslot are queued for play-out. The windows start at (timeslot.start - window_start) seconds
# and ends at (timeslot.end - window.end) seconds. Its also worth noting, that timeslots can only be deleted before the start of the window.                
scheduling_window_start=60
92
scheduling_window_end=60
David Trattnig's avatar
David Trattnig committed
93
# How many seconds before the actual schedule time the entry should be pre-rolled. Note to provide enough timeout for
94
95
96
# contents which take longer to load (big files, bad connectivity to streams etc.). If the planned start time is in
# the past the offset is ignored and the entry is played as soon as possible
preload_offset=15
David Trattnig's avatar
David Trattnig committed
97
98

# Sometimes it might take longer to get a stream connected. Here you can define a viable length.
99
# But note, that this may affect the preloading time (see `preload_offset`), hence affecting the 
David Trattnig's avatar
David Trattnig committed
100
# overall playout, it's delays and possible fallbacks
David Trattnig's avatar
David Trattnig committed
101
102
input_stream_retry_delay=1
input_stream_max_retries=10
103
input_stream_buffer=3.0
David Trattnig's avatar
David Trattnig committed
104

105

106
[fading]
107
# Sets the time how long we have to fade in and out, when we select another mixer input values are in seconds
108
109
110
111
112
113
114
115
116
117
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]
118
liquidsoap_path="/usr/bin/liquidsoap"
119
liquidsoap_working_dir="src/liquidsoap/"
120
liquidsoap_as_root="true"
121
122
123
124
125
126
127
128
129
130

# 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]
131
socketdir="/srv/src/liquidsoap"
132

133
[audiosources]
134
audio_source_folder="var/audio/source"
135
audio_source_extension=".flac"
136
137
138
139
140
141
142
143

[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."
144
fallback_threshold="-80."
145
# A playlist holding music for Station Fallbacks (optonal)
146
fallback_music_playlist= "/opt/aura/engine/config/playlists/station-fallback-playlist.m3u"
147
148
149
# A folder holding music for Station Fallbacks (optional)
fallback_music_folder="/var/audio/station"
# The time in seconds how often the folder should be re-scanned
David Trattnig's avatar
David Trattnig committed
150
# Do not reload too often when using large folders
151
fallback_music_folder_reload="300"
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172


[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
173
input_device_0=""
174
175
176
177
178
input_device_1=""
input_device_2=""
input_device_3=""
input_device_4=""
# same same, but different
David Trattnig's avatar
David Trattnig committed
179
output_device_0="default"
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
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.
205
# flac, mp3, ogg, opus and wav is supported
206
207
208
209
210
211

[recording]
# flac example
# enable this recorder. everything else than 'y' is considered as disabled
rec_0="n"
# first set a folder
212
rec_0_folder="/var/recordings/flac"
213
214
215
216
217
218
219
220
221
# 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"

222
# mp3 example
223
rec_1="n"
224
rec_1_folder="/var/audio/rec/mp3"
225
rec_1_duration="30"
226
227
rec_1_encoding="mp3"
rec_1_bitrate="320"
228
229
230
231
rec_1_channels="2"

# mp3 example
rec_2="n"
232
rec_2_folder="/var/audio/rec/mp3"
233
234
rec_2_duration="30"
rec_2_encoding="mp3"
235
rec_2_bitrate="192"
236
237
238
239
rec_2_channels="2"

# ogg example
rec_3="n"
240
rec_3_folder="/var/recordings/ogg"
241
242
243
244
245
246
247
rec_3_duration="30"
rec_3_encoding="ogg"
rec_3_bitrate="320"
rec_3_channels="2"

# opus example
rec_4="n"
248
rec_4_folder="/var/recordings/opus"
249
250
251
252
253
254
255
rec_4_duration="30"
rec_4_encoding="opus"
rec_4_bitrate="32"
rec_4_channels="2"

# wav example
#rec_4="n"
256
#rec_4_folder="/var/recordings/wav"
257
258
259
260
261
262
263
264
265
266
#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
267
# flac, mp3, ogg and opus is supported
268
269
270
271

[stream]
# defines enabled or not
stream_0="n"
272
273
# possible values: flac, mp3, ogg, opus (depending on what liquidsoap-plugins you installed)
stream_0_encoding="ogg"
274
275
276
277
278
279
280
281
282
# 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
283
stream_0_mountpoint="aura-test-0.ogg"
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
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# 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"