config: simplify configuration

Use default values everywhere so they don't need to be specified in the
.env file.

This makes the default .env file much smaller (the larger config options
are documented in the handbook) and should make it easier to port the
setup to runtimes other than Docker Compose.
This commit is contained in:
Saúl Ibarra Corretgé
2022-05-17 11:34:53 +02:00
parent b505d58956
commit cb5a753282
18 changed files with 173 additions and 346 deletions

View File

@@ -4,7 +4,18 @@
{{ $ENABLE_RECORDING := .Env.ENABLE_RECORDING | default "0" | toBool }}
{{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool }}
{{ $ENABLE_AUTO_LOGIN := .Env.ENABLE_AUTO_LOGIN | default "1" | toBool }}
{{ $JICOFO_AUTH_USER := .Env.JICOFO_AUTH_USER | default "focus" -}}
{{ $JIBRI_BREWERY_MUC := .Env.JIBRI_BREWERY_MUC | default "jibribrewery" -}}
{{ $JIGASI_BREWERY_MUC := .Env.JIGASI_BREWERY_MUC | default "jigasibrewery" -}}
{{ $JVB_BREWERY_MUC := .Env.JVB_BREWERY_MUC | default "jvbbrewery" -}}
{{ $JIBRI_PENDING_TIMEOUT := .Env.JIBRI_PENDING_TIMEOUT | default 90 -}}
{{ $XMPP_AUTH_DOMAIN := .Env.XMPP_AUTH_DOMAIN | default "auth.meet.jitsi" -}}
{{ $XMPP_MUC_DOMAIN := .Env.XMPP_MUC_DOMAIN | default "muc.meet.jitsi" -}}
{{ $XMPP_INTERNAL_MUC_DOMAIN := .Env.XMPP_INTERNAL_MUC_DOMAIN | default "internal-muc.meet.jitsi" -}}
{{ $XMPP_DOMAIN := .Env.XMPP_DOMAIN | default "meet.jitsi" -}}
{{ $XMPP_RECORDER_DOMAIN := .Env.XMPP_RECORDER_DOMAIN | default "recorder.meet.jitsi" -}}
{{ $XMPP_PORT := .Env.XMPP_PORT | default "5222" -}}
{{ $XMPP_SERVER := .Env.XMPP_SERVER | default "xmpp.meet.jitsi" -}}
jicofo {
{{ if $ENABLE_AUTH }}
@@ -22,7 +33,7 @@ jicofo {
login-url = "shibboleth:default"
logout-url = "shibboleth:default"
{{ else }}
login-url = "{{ .Env.XMPP_DOMAIN }}"
login-url = "{{ $XMPP_DOMAIN }}"
{{ end }}
enable-auto-login={{ $ENABLE_AUTO_LOGIN }}
}
@@ -54,7 +65,7 @@ jicofo {
}
{{ end }}
brewery-jid = "{{ .Env.JVB_BREWERY_MUC }}@{{ .Env.XMPP_INTERNAL_MUC_DOMAIN }}"
brewery-jid = "{{ $JVB_BREWERY_MUC }}@{{ $XMPP_INTERNAL_MUC_DOMAIN }}"
}
// Configure the codecs and RTP extensions to be used in the offer sent to clients.
codec {
@@ -101,19 +112,17 @@ jicofo {
{{ if $ENABLE_RECORDING }}
jibri {
brewery-jid = "{{ .Env.JIBRI_BREWERY_MUC}}@{{ .Env.XMPP_INTERNAL_MUC_DOMAIN }}"
brewery-jid = "{{ $JIBRI_BREWERY_MUC }}@{{ $XMPP_INTERNAL_MUC_DOMAIN }}"
{{ if .Env.JIBRI_REQUEST_RETRIES }}
num-retries = "{{ .Env.JIBRI_REQUEST_RETRIES }}"
{{ end }}
{{ if .Env.JIBRI_PENDING_TIMEOUT }}
pending-timeout = "{{ .Env.JIBRI_PENDING_TIMEOUT }}"
{{ end }}
pending-timeout = "{{ $JIBRI_PENDING_TIMEOUT }}"
}
{{ end }}
{{ if and .Env.JIGASI_SIP_URI .Env.JIGASI_BREWERY_MUC }}
{{ if and .Env.JIGASI_SIP_URI $JIGASI_BREWERY_MUC }}
jigasi {
brewery-jid = "{{ .Env.JIGASI_BREWERY_MUC}}@{{ .Env.XMPP_INTERNAL_MUC_DOMAIN }}"
brewery-jid = "{{ $JIGASI_BREWERY_MUC }}@{{ $XMPP_INTERNAL_MUC_DOMAIN }}"
}
{{ end }}
@@ -134,17 +143,17 @@ jicofo {
xmpp {
client {
enabled = true
hostname = "{{ .Env.XMPP_SERVER }}"
hostname = "{{ $XMPP_SERVER }}"
port = "{{ $XMPP_PORT }}"
domain = "{{ .Env.XMPP_AUTH_DOMAIN }}"
username = "{{ .Env.JICOFO_AUTH_USER }}"
domain = "{{ $XMPP_AUTH_DOMAIN }}"
username = "{{ $JICOFO_AUTH_USER }}"
password = "{{ .Env.JICOFO_AUTH_PASSWORD }}"
conference-muc-jid = "{{ .Env.XMPP_MUC_DOMAIN }}"
client-proxy = "focus.{{ .Env.XMPP_DOMAIN }}"
conference-muc-jid = "{{ $XMPP_MUC_DOMAIN }}"
client-proxy = "focus.{{ $XMPP_DOMAIN }}"
disable-certificate-verification = true
}
{{ if $ENABLE_RECORDING }}
trusted-domains = [ "{{ .Env.XMPP_RECORDER_DOMAIN }}" ]
trusted-domains = [ "{{ $XMPP_RECORDER_DOMAIN }}" ]
{{ end }}
}

View File

@@ -1,5 +1,11 @@
#!/usr/bin/with-contenv bash
# Defaults
[ -z "${JICOFO_AUTH_USER}" ] && export JICOFO_AUTH_USER=focus
[ -z "${XMPP_AUTH_DOMAIN}" ] && export XMPP_AUTH_DOMAIN=auth.meet.jitsi
[ -z "${XMPP_DOMAIN}" ] && export XMPP_DOMAIN=meet.jitsi
[ -z "${XMPP_SERVER}" ] && export XMPP_SERVER=xmpp.meet.jitsi
JAVA_SYS_PROPS="-Djava.util.logging.config.file=/config/logging.properties -Dconfig.file=/config/jicofo.conf"
DAEMON=/usr/share/jicofo/jicofo.sh
DAEMON_DIR=/usr/share/jicofo/