4.7 KiB
Jibri is moving to a new config file. The old config file/command-line-arguments will be supported for a while and eventually removed. This doc is a guide on how to migrate from an "old" configuration to a new one.
The new configuration leverages the Typesafe config library. Default configuration values are now stored in reference.conf. Overrides are written to a file and passed via a JVM parameter:
-Dconfig.file=/path/to/config.conf
Property migrations
Notes
- No default values have been changed, so if you weren't specifying a property before you can continue to leave it unspecified and the value will not change.
- The new configuration library supports different formats and many different features in configuration (substitutions, includes, overrides via environment variables, etc.). The text here describes the 'plainest' way to define a new config file, but other methods are possible. Read about the Typesafe config to learn more.
- The example below assume that you will define a new configuration file called
jibri.conf
Configuration file
Old method: path to a JSON file via command line argument --config=/path/to/config.json
New method: path to a HOCON .conf file passed via JVM arg: -Dconfig.file=/path/to/config.conf
Internal and external HTTP API ports
Old method: command line arguments --http-api-port and --internal-http-port
New method: in jibri.conf:
jibri {
api {
http {
external-api-port = <number>
internal-api-port = <number>
}
}
}
Single use mode
Old method: in config.json:
{
"single_use_mode": <Boolean>
}
New method: in jibri.conf:
jibri {
single-use-mode = <boolean>
}
Recordings directory
Old method: in config.json:
{
"recording_directory": <path>
}
New method: in jibri.conf:
jibri {
recording {
recordings-directory = <path>
}
}
Finalize script path
Old method: in config.json:
{
"finalize_recording_script_path": <path>
}
New method: in jibri.conf:
jibri {
recording {
finalize-script = <path>
}
}
Enabling statsD
Old method: in config.json:
{
"enable_stats_d": <boolean>
}
New method: in jibri.conf:
jibri {
stats {
enable-stats-d = <boolean>
host = <string>
port = <int>
}
}
XMPP environment config
Old method: in config.json:
{
"xmpp_environments": [
{
"name": <String>,
"xmpp_server_hosts": List<String>,
"xmpp_domain": <String>,
"control_login": {
"domain": <String>,
"username": <String>,
"password": <String>
},
"control_muc": {
"domain": <String>,
"room_name": <String>,
"nickname": <String>
},
"call_login": {
"domain": <String>,
"username": <String>,
"password": <String>
},
"room_jid_domain_string_to_strip_from_start": <String>,
"usage_timeout": <number>
},
{ <more> },
]
}
New method: in jibri.conf:
jibri {
api {
xmpp {
environments = [
{
name = <String>
xmpp-server-hosts = <List<String>>
xmpp-domain = <String>
control-muc {
domain = <String>
room-name = <String>
nickname = <String>
}
control-login {
domain = <String>
username = <String>
password = <String>
}
sip-control-muc {
domain = <String>
room-name = <String>
nickname = <String>
}
call-login {
domain = <String>
username = <String>
password = <String>
}
strip-from-room-domain = <String>
usage-timeout = <Duration String i.e. '5 minutes' or '1 hour'>
trust-all-xmpp-certs = <boolean>
},
{ <more> }
]
}
}
}
An example of a new environments config can be found here.