#!/command/execlineb -S0 PROSODY_CFG="/config/prosody.cfg.lua" [ -z "$PROSODY_MODE" ] && export PROSODY_MODE="client" # Defaults [ -z "${JIBRI_RECORDER_USER}" ] && export JIBRI_RECORDER_USER=recorder [ -z "${XMPP_DOMAIN}" ] && export XMPP_DOMAIN=meet.jitsi [ -z "${XMPP_AUTH_DOMAIN}" ] && export XMPP_AUTH_DOMAIN=auth.meet.jitsi [ -z "${JVB_AUTH_USER}" ] && export JVB_AUTH_USER=jvb # maintain backward compatibility with older variable [ -z "${XMPP_HIDDEN_DOMAIN}" ] && export XMPP_HIDDEN_DOMAIN="$XMPP_RECORDER_DOMAIN" [ -z "${XMPP_HIDDEN_DOMAIN}" ] && export XMPP_HIDDEN_DOMAIN=hidden.meet.jitsi [ -z "${JIGASI_XMPP_USER}" ] && export JIGASI_XMPP_USER=jigasi if [[ -z $JVB_AUTH_PASSWORD ]]; then echo 'FATAL ERROR: JVB auth password must be set' exit 1 fi OLD_JVB_AUTH_PASSWORD=passw0rd if [[ "$JVB_AUTH_PASSWORD" == "$OLD_JVB_AUTH_PASSWORD" ]]; then echo 'FATAL ERROR: JVB auth password must be changed, check the README' exit 1 fi if [[ "$PROSODY_MODE" == "visitors" ]]; then # echo "Prosody visitor mode, using alternate config" # PROSODY_SITE_CFG="visitors.cfg.lua" # force jicofo into auth domain for visitor-mode prosody [ -z "$XMPP_AUTH_DOMAIN" ] && XMPP_AUTH_DOMAIN="auth.meet.jitsi" # export PROSODY_ADMINS="focus@$XMPP_AUTH_DOMAIN" elif [[ "$PROSODY_MODE" == "brewery" ]]; then # echo "Prosody brewery mode, using alternate config" # PROSODY_SITE_CFG="brewery.cfg.lua" # rm /config/conf.d/jitsi-meet.cfg.lua # rm /config/conf.d/visitors.cfg.lua # # force jicofo into auth domain for brewer prosody # [ -z "$JVB_XMPP_AUTH_DOMAIN" ] && JVB_XMPP_AUTH_DOMAIN="auth.meet.jitsi" # # ensure proper certs are generated # export XMPP_AUTH_DOMAIN="$JVB_XMPP_AUTH_DOMAIN" # # brewery mode requires C2S encryption # export PROSODY_C2S_REQUIRE_ENCRYPTION="true" # mkdir -p /config/rules.d # tpl /defaults/rules.d/jvb_muc_presence_filter.pfw > /config/rules.d/jvb_muc_presence_filter.pfw else # echo "Prosody normal mode, using default config" # PROSODY_SITE_CFG="jitsi-meet.cfg.lua" # rm /config/conf.d/visitors.cfg.lua # rm /config/conf.d/brewery.cfg.lua fi if [[ -z $JICOFO_AUTH_PASSWORD ]]; then echo 'FATAL ERROR: Jicofo auth password must be set' exit 1 fi prosodyctl --config $PROSODY_CFG shell "user:create('focus@$XMPP_AUTH_DOMAIN', '$JICOFO_AUTH_PASSWORD', 'prosody:admin')" # if we are in client mode, we need to subscribe the focus user to the focus component proxy if [[ "$PROSODY_MODE" == "client" ]]; then prosodyctl --config $PROSODY_CFG shell roster subscribe_both focus@$XMPP_AUTH_DOMAIN focus.$XMPP_DOMAIN fi prosodyctl --config $PROSODY_CFG shell "user:create('$JVB_AUTH_USER@$XMPP_AUTH_DOMAIN', '$JVB_AUTH_PASSWORD')" if [[ ! -z $JIBRI_XMPP_PASSWORD ]]; then OLD_JIBRI_XMPP_PASSWORD=passw0rd if [[ "$JIBRI_XMPP_PASSWORD" == "$OLD_JIBRI_XMPP_PASSWORD" ]]; then echo 'FATAL ERROR: Jibri auth password must be changed, check the README' exit 1 fi prosodyctl --config $PROSODY_CFG shell "user:create('$JIBRI_XMPP_USER@$XMPP_AUTH_DOMAIN', '$JIBRI_XMPP_PASSWORD')" fi if [[ "$PROSODY_MODE" == "client" ]]; then if [[ ! -z $JIBRI_RECORDER_PASSWORD ]]; then OLD_JIBRI_RECORDER_PASSWORD=passw0rd if [[ "$JIBRI_RECORDER_PASSWORD" == "$OLD_JIBRI_RECORDER_PASSWORD" ]]; then echo 'FATAL ERROR: Jibri recorder password must be changed, check the README' exit 1 fi prosodyctl --config $PROSODY_CFG shell "user:create('$JIBRI_RECORDER_USER@$XMPP_HIDDEN_DOMAIN', '$JIBRI_RECORDER_PASSWORD')" fi if [[ "$(echo "$ENABLE_TRANSCRIPTIONS" | tr '[:upper:]' '[:lower:]')" == "true" ]] || [[ "$ENABLE_TRANSCRIPTIONS" == "1" ]]; then if [[ ! -z $JIGASI_TRANSCRIBER_PASSWORD ]]; then [ -z "$JIGASI_TRANSCRIBER_USER" ] && JIGASI_TRANSCRIBER_USER="transcriber" prosodyctl --config $PROSODY_CFG shell "user:create('$JIGASI_TRANSCRIBER_USER@$XMPP_HIDDEN_DOMAIN', '$JIGASI_TRANSCRIBER_PASSWORD')" fi fi fi if [[ ! -z $JIGASI_XMPP_PASSWORD ]]; then OLD_JIGASI_XMPP_PASSWORD=passw0rd if [[ "$JIGASI_XMPP_PASSWORD" == "$OLD_JIGASI_XMPP_PASSWORD" ]]; then echo 'FATAL ERROR: Jigasi auth password must be changed, check the README' exit 1 fi prosodyctl --config $PROSODY_CFG shell "user:create('$JIGASI_XMPP_USER@$XMPP_AUTH_DOMAIN', '$JIGASI_XMPP_PASSWORD')" fi