sample-docker.engine.ini 4.72 KB
Newer Older
1
2
3
##############################################
#            Engine Configuration            #
##############################################
4

5
6
[general]
# Path to the engine-core socket directory relative to the engine project root
7
socket_dir="/srv/socket"
8
9
10
11
# Directory where the log file resides
log_dir="logs"
# Possible values: debug, info, warning, error, critical
log_level="info"
12
13

[monitoring]
14
# Mail server credentials for sending email notifications (Admin and Programme Coordination)
15
mail_server="mail.your-radio.org"
16
17
18
mail_server_port="587"
mail_user="aura@subsquare.at"
mail_pass="---SECRET--PASSWORD---"
19
# Set to "true" if you want to notify programme-coordinators about about fallback situations, otherwise "false"
20
mail_coordinator_enabled="false"
21
22
# If you want to address multiple programme-coordinators separate their emails by space
coordinator_mail="programme-coordinator@your-radio.org"
23
# Set to "true" if you want to notify admins about incidents, otherwise "false"
24
mail_admin_enabled="false"
25
# If you want to address multiple administrators separate their emails by space
26
27
admin_mail="admin@your-radio.org"
# The FROM email address used when sending
28
from_mail="monitoring@aura.engine"
29
30
# A subject prefix allows applying filter rules in your mail client
mailsubject_prefix="[AURA Engine]"
31

David Trattnig's avatar
David Trattnig committed
32
# Server where heartbeat info is sent to
33
heartbeat_server = "127.0.0.1"   
David Trattnig's avatar
David Trattnig committed
34
35
36
# Some UDP port
heartbeat_port = 43334 
# Seconds how often the vitality of the Engine should be checked (0 = disabled)
37
heartbeat_frequency = 0
38

39
[api]
David Trattnig's avatar
David Trattnig committed
40
41
## STEERING ##
# The URL to get the health status 
42
api_steering_status="http://127.0.0.1:8000/api/v1/"
43
# The URL to get the Calendar via Steering
David Trattnig's avatar
David Trattnig committed
44
45
46
api_steering_calendar="http://127.0.0.1:8000/api/v1/playout"

## TANK ##
47
48
49
50
# 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
51
# The URL to get the health status 
52
api_tank_status="http://127.0.0.1:8040/healthz/"
53
# The URL to get playlist details via Tank
David Trattnig's avatar
David Trattnig committed
54
55
api_tank_playlist="http://127.0.0.1:8040/api/v1/playlists/${ID}"

David Trattnig's avatar
David Trattnig committed
56
57
## ENGINE-API ##
# Engine ID (1 or 2)
58
api_engine_number=1
David Trattnig's avatar
David Trattnig committed
59
# Engine API availability check
60
api_engine_status="http://127.0.0.1:8008/api/v1/ui/"
David Trattnig's avatar
David Trattnig committed
61
# Engine API endpoint to store playlogs
62
api_engine_store_playlog="http://127.0.0.1:8008/api/v1/playlog"
David Trattnig's avatar
David Trattnig committed
63
# Engine API endpoint to store clock information
64
api_engine_store_clock="http://127.0.0.1:8008/api/v1/clock"
David Trattnig's avatar
David Trattnig committed
65
# Engine API endpoint to store health information
66
api_engine_store_health="http://127.0.0.1:8008/api/v1/source/health/${ENGINE_NUMBER}"
67

68
69
[scheduler]
# Base path as seen by "engine-core", not accessed by "engine"; this is required to construct the absolute audio file path (check "Audio Store" in the docs)
70
# Either provide an absolute base path or a relative one starting in the `engine-core/src` directory. In case of `engine-core` running in docker use `/var/audio/source`
71
72
audio_source_folder="/var/audio/source"
audio_source_extension=".flac"
73
# Folder holding M3U Playlists to be scheduled in form of Engine Playlists (similar as audio source folder above)
74
75
76
audio_playlist_folder="/var/audio/playlist"
# Offset in seconds how long it takes for Liquidsoap to actually execute a scheduler command; Crucial to keep things in sync
engine_latency_offset=0.5
David Trattnig's avatar
David Trattnig committed
77
# 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
78
fetching_frequency=300
79
80
81
82
83
84
# The schedule is fetched on every "fetching_frequency" cycle and stored in a local database
db_user="aura"
db_name="aura_engine"
db_pass="---SECRET--PASSWORD---"
db_host="localhost"
db_charset="utf8"
85
86
87
# 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
88
scheduling_window_end=60
David Trattnig's avatar
David Trattnig committed
89
# How many seconds before the actual schedule time the entry should be pre-rolled. Note to provide enough timeout for
90
91
92
# 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
93
# Sometimes it might take longer to get a stream connected. Here you can define a viable length.
94
# But note, that this may affect the preloading time (see `preload_offset`), hence affecting the 
David Trattnig's avatar
David Trattnig committed
95
# overall playout, it's delays and possible fallbacks
David Trattnig's avatar
David Trattnig committed
96
97
input_stream_retry_delay=1
input_stream_max_retries=10
98
input_stream_buffer=3.0
99
100
101
# How long we have to fade in and out, when we select another mixer input (seconds))
fade_in_time="1.5"
fade_out_time="1.5"