Skip to content
Snippets Groups Projects
Commit 5fb0252a authored by Roman Brendler's avatar Roman Brendler
Browse files

Rework(docker-config): Take configurable variables from environment

- To be able to configure the compoment without having to add the engine.ini to the meta repository,
	the docker image now expects configurable variable to be passed as environment variables
parent 891b4634
No related branches found
No related tags found
No related merge requests found
......@@ -8,99 +8,99 @@ socket_dir="/srv/socket"
# Directory where the log file resides
log_dir="logs"
# Possible values: debug, info, warning, error, critical
log_level="info"
log_level="${ENGINE_LOG_LEVEL}"
[monitoring]
# Mail server credentials for sending email notifications (Admin and Programme Coordination)
mail_server="mail.your-radio.org"
mail_server_port="587"
mail_user="aura@subsquare.at"
mail_pass="---SECRET--PASSWORD---"
mail_server="${ENGINE_MONITORING_MAIL_SERVER}"
mail_server_port="${ENGINE_MONITORING_MAIL_SERVER_PORT}"
mail_user="${ENGINE_MONITORING_MAIL_USER}"
mail_pass="${ENGINE_MONITORING_MAIL_PASSWORD}"
# Set to "true" if you want to notify programme-coordinators about about fallback situations, otherwise "false"
mail_coordinator_enabled="false"
mail_coordinator_enabled="${ENGINE_MONITORING_MAIL_COORDINATOR_ENABLED}"
# If you want to address multiple programme-coordinators separate their emails by space
coordinator_mail="programme-coordinator@your-radio.org"
coordinator_mail="${ENGINE_MONITORING_COORDINATOR_MAIL}"
# Set to "true" if you want to notify admins about incidents, otherwise "false"
mail_admin_enabled="false"
mail_admin_enabled="${ENGINE_MONITORING_ADMIN_MAIL_ENABLED}"
# If you want to address multiple administrators separate their emails by space
admin_mail="admin@your-radio.org"
admin_mail="${ENGINE_MONITORING_ADMIN_MAIL}"
# The FROM email address used when sending
from_mail="monitoring@aura.engine"
from_mail="${ENGINE_MONITORING_SENDER_MAILADDRESS}"
# A subject prefix allows applying filter rules in your mail client
mailsubject_prefix="[AURA Engine]"
mailsubject_prefix="${ENGINE_MONITORING_MAIL_SUBJECT_PREFIX}" # default: [AURA Engine]
# Server where heartbeat info is sent to
heartbeat_server = "127.0.0.1"
# Server where heartbeat info is sent to
heartbeat_server="${ENGINE_HEARTBEAT_SERVER}"
# Some UDP port
heartbeat_port = 43334
heartbeat_port=${ENGINE_HEARTBEAT_SERVER_PORT}
# Seconds how often the vitality of the Engine should be checked (0 = disabled)
heartbeat_frequency = 1
heartbeat_frequency=${ENGINE_HEARTBEAT_FREQUENCY}
[api]
## STEERING ##
# The URL to get the health status
api_steering_status="http://127.0.0.1:8000/api/v1/"
api_steering_status="${STEERING_BASE_URL}api/v1/"
# The URL to get the Calendar via Steering
api_steering_calendar="http://127.0.0.1:8000/api/v1/playout"
api_steering_calendar="${STEERING_BASE_URL}api/v1/playout"
## TANK ##
# The session name which is used to authenticate against Tank
api_tank_session="engine"
api_tank_session="${ENGINE_TANK_SESSION}"
# The secret which is used to authenticate against Tank
api_tank_secret="rather-secret"
api_tank_secret="${ENGINE_TANK_SECRET}"
# The URL to get the health status
api_tank_status="http://127.0.0.1:8040/healthz/"
api_tank_status="${TANK_BASE_URL}healthz/"
# The URL to get playlist details via Tank
api_tank_playlist="http://127.0.0.1:8040/api/v1/playlists/${ID}"
api_tank_playlist="${TANK_BASE_URL}api/v1/playlists/${ID}"
## ENGINE-API ##
# Engine ID (1 or 2)
api_engine_number=1
# Engine API availability check
api_engine_status="http://127.0.0.1:8008/api/v1/ui/"
api_engine_status="${ENGINE_API_BASE_URL}api/v1/ui/"
# Engine API endpoint to store playlogs
api_engine_store_playlog="http://127.0.0.1:8008/api/v1/playlog"
api_engine_store_playlog="${ENGINE_API_BASE_URL}api/v1/playlog"
# Engine API endpoint to store clock information
api_engine_store_clock="http://127.0.0.1:8008/api/v1/clock"
api_engine_store_clock="${ENGINE_API_BASE_URL}api/v1/clock"
# Engine API endpoint to store health information
api_engine_store_health="http://127.0.0.1:8008/api/v1/source/health/${ENGINE_NUMBER}"
api_engine_store_health="${ENGINE_API_BASE_URL}api/v1/source/health/${ENGINE_NUMBER}"
## ENGINE-CORE ##
# Host and port of the local engine backchannel (Network Socket for e.g. sending track service updates)
api_engine_control_host="0.0.0.0:1337"
[scheduler]
# Database settings: Use 'postgresql', 'sqlite' or 'mysql'. In case of SQLite the "db_name" is the name of the file.
# Database settings: Use 'postgresql' or 'mysql'
db_type="postgresql"
db_name="aura_engine"
db_user="aura_engine"
db_pass="---SECRET--PASSWORD---"
db_host="127.0.0.1"
db_name="${ENGINE_DB_NAME}"
db_user="${ENGINE_DB_USER}"
db_pass="${ENGINE_DB_PASS}"
db_host="engine-postgres"
db_charset="utf8"
# 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)
# 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`
audio_source_folder="/var/audio/source"
audio_source_extension=".flac"
audio_source_folder="${ENGINE_AUDIO_SOURCE_FOLDER}"
audio_source_extension="${ENGINE_AUDIO_SOURCE_EXTENSION}"
# Folder holding M3U Playlists to be scheduled in form of Engine Playlists (similar as audio source folder above)
audio_playlist_folder="/var/audio/playlist"
audio_playlist_folder="${ENGINE_AUDIO_PLAYLIST_FOLDER}"
# 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
engine_latency_offset=${ENGINE_LATENCY_OFFSET}
# How often should the calendar be fetched in seconds. This determines the time of the last changes applied, before a specific show is aired
fetching_frequency=30
fetching_frequency=${ENGINE_FETCHING_FREQUENCY}
# 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
scheduling_window_end=60
scheduling_window_start=${ENGINE_SCHEDULING_WINDOW_START}
scheduling_window_end=${ENGINE_SCHEDULING_WINDOW_END}
# How many seconds before the actual schedule time the entry should be pre-rolled. Note to provide enough timeout for
# 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
preload_offset=${ENGINE_PRELOAD_OFFSET}
# Sometimes it might take longer to get a stream connected. Here you can define a viable length.
# But note, that this may affect the preloading time (see `preload_offset`), hence affecting the
# overall playout, its delays and possible fallbacks
input_stream_retry_delay=1
input_stream_max_retries=10
input_stream_buffer=3.0
# overall playout, it's delays and possible fallbacks
input_stream_retry_delay=${ENGINE_INPUT_STREAM_RETRY_DELAY}
input_stream_max_retries=${ENGINE_INPUT_STREAM_MAX_RETRIES}
input_stream_buffer=${ENGINE_INPUT_STREAM_BUFFER}
# 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"
fade_in_time="${ENGINE_FADE_IN_TIME}"
fade_out_time="${ENGINE_FADE_OUT_TIME}"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment