Compare commits
5 commits
977b530dab
...
1791d35f84
Author | SHA1 | Date | |
---|---|---|---|
1791d35f84 | |||
8e1d0b68f1 | |||
aa3f2eeb00 | |||
a63d9ec458 | |||
0cff414884 |
12 changed files with 74 additions and 75 deletions
|
@ -1,7 +0,0 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
EXPORTER_VERSION_FILE="/usr/local/bin/.prometheus-jitsi-meet-exporter.cdist.version"
|
||||
|
||||
if [ -f "${EXPORTER_VERSION_FILE}" ]; then
|
||||
cat "${EXPORTER_VERSION_FILE}"
|
||||
fi
|
|
@ -33,7 +33,7 @@ if grep -qE "^__file/etc/nginx" "${__messages_in}"; then
|
|||
echo "service nginx reload"
|
||||
fi
|
||||
|
||||
if grep -qE "^(__line/jitsi_jicofo_secured_domains|(__file|__link)/etc/prosody/conf.d/|__file/etc/jitsi/jicofo/jicofo.conf)" "${__messages_in}"; then
|
||||
if grep -qE "^(__line/jitsi_jicofo_secured_domains|(__file|__link)/etc/prosody/conf.d/|__file/etc/jitsi/(jicofo/jicofo.conf|videobridge/jvb.conf))" "${__messages_in}"; then
|
||||
RESTART_SERVICES="YES"
|
||||
fi
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
os="$(cat "${__global}/explorer/os")"
|
||||
init="$(cat "${__global}/explorer/init")"
|
||||
case "${os}" in
|
||||
devuan|debian)
|
||||
;;
|
||||
|
@ -27,8 +26,6 @@ if [ -z "${TURN_SERVER}" ]; then
|
|||
TURN_SERVER="${JITSI_HOST}"
|
||||
fi
|
||||
|
||||
PROMETHEUS_JITSI_EXPORTER_IS_VERSION="$(cat "${__object}/explorer/prometheus-jitsi-meet-explorer-version")"
|
||||
|
||||
# The rest is loosely based on Jitsi's documentation
|
||||
# https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart
|
||||
|
||||
|
@ -203,65 +200,56 @@ export JITSI_HOST
|
|||
"${__type}/files/jicofo.conf.sh" | \
|
||||
__file /etc/jitsi/jicofo/jicofo.conf --mode 0444 --source '-'
|
||||
|
||||
# Enable the private colibri REST API end point for better stats
|
||||
__file "/etc/jitsi/videobridge/jvb.conf" --mode 0444 --source '-' <<EOFJVB
|
||||
videobridge {
|
||||
http-servers {
|
||||
public {
|
||||
port = 9090
|
||||
}
|
||||
private {
|
||||
port = 8080
|
||||
}
|
||||
}
|
||||
websockets {
|
||||
enabled = true
|
||||
domain = "${JITSI_HOST}:443"
|
||||
tls = true
|
||||
}
|
||||
apis {
|
||||
rest {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
EOFJVB
|
||||
|
||||
# Enable simple per-domain body customisation
|
||||
__file "/usr/share/jitsi-meet/body.html" \
|
||||
--mode 0644 \
|
||||
--source '-' <<EOF
|
||||
<!--#include virtual="body-\${host}.html" -->
|
||||
EOF
|
||||
|
||||
# These two should be changed on new release
|
||||
PROMETHEUS_JITSI_EXPORTER_SHOULD_VERSION="1.1.5"
|
||||
PROMETHEUS_JITSI_EXPORTER_CHECKSUM="sha256:3ddf43a48d9a2f62be1bc6db9e7ba75d61994f9423e5c5b28be019f41f06f745"
|
||||
PROMETHEUS_JITSI_EXPORTER_URL="https://github.com/systemli/prometheus-jitsi-meet-exporter/releases/download/${PROMETHEUS_JITSI_EXPORTER_SHOULD_VERSION}/prometheus-jitsi-meet-exporter-linux-amd64"
|
||||
PROMETHEUS_JITSI_EXPORTER_VERSION_FILE="/usr/local/bin/.prometheus-jitsi-meet-exporter.cdist.version"
|
||||
if [ ! -f "${__object}/parameter/disable-prometheus-exporter" ]; then
|
||||
case "${init}" in
|
||||
init|sysvinit)
|
||||
__runit
|
||||
require="__runit" __runit_service \
|
||||
prometheus-jitsi-meet-exporter --log --source - <<EOF
|
||||
#!/bin/sh -e
|
||||
cd /tmp
|
||||
exec chpst -u "nobody:nogroup" env HOME="/tmp" \\
|
||||
prometheus-jitsi-meet-exporter \\
|
||||
-videobridge-url 'http://localhost:8888/stats' \\
|
||||
-web.listen-address ':9888' 2>&1
|
||||
EOF
|
||||
|
||||
export require="__runit_service/prometheus-jitsi-meet-exporter"
|
||||
JITSI_MEET_EXPORTER_SERVICE="sv %s prometheus-jitsi-meet-exporter"
|
||||
;;
|
||||
systemd)
|
||||
__systemd_unit prometheus-jitsi-meet-exporter.service \
|
||||
--source "-" \
|
||||
--enablement-state "enabled" <<EOF
|
||||
[Unit]
|
||||
Description=Metrics Exporter for Jitsi Meet
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
DynamicUser=yes
|
||||
ExecStart=/usr/local/bin/prometheus-jitsi-meet-exporter -videobridge-url 'http://localhost:8888/stats' -web.listen-address ':9888'
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
export require="__systemd_unit/prometheus-jitsi-meet-exporter.service"
|
||||
JITSI_MEET_EXPORTER_SERVICE="service prometheus-jitsi-meet-exporter %s"
|
||||
;;
|
||||
esac
|
||||
if [ "${PROMETHEUS_JITSI_EXPORTER_SHOULD_VERSION}" != \
|
||||
"${PROMETHEUS_JITSI_EXPORTER_IS_VERSION}" ]; then
|
||||
# shellcheck disable=SC2059
|
||||
__download \
|
||||
/tmp/prometheus-jitsi-meet-exporter \
|
||||
--url "${PROMETHEUS_JITSI_EXPORTER_URL}" \
|
||||
--download remote \
|
||||
--sum "${PROMETHEUS_JITSI_EXPORTER_CHECKSUM}" \
|
||||
--onchange "$(printf "${JITSI_MEET_EXPORTER_SERVICE}" "stop") || true; chmod 555 /tmp/prometheus-jitsi-meet-exporter && mv /tmp/prometheus-jitsi-meet-exporter /usr/local/bin/prometheus-jitsi-meet-exporter && $(printf "${JITSI_MEET_EXPORTER_SERVICE}" "restart")"
|
||||
printf "%s" "${PROMETHEUS_JITSI_EXPORTER_SHOULD_VERSION}" | \
|
||||
require="${require} __download/tmp/prometheus-jitsi-meet-exporter" __file \
|
||||
"${PROMETHEUS_JITSI_EXPORTER_VERSION_FILE}" \
|
||||
--source "-"
|
||||
fi
|
||||
EXPORTER_VERSION="1.2.0"
|
||||
EXPORTER_CHECKSUM="sha256:6377ffa7be0c7deb66545616add7245da96f8b7746d6712f41cfa9fe72c935ce"
|
||||
EXPORTER_URL="https://github.com/systemli/prometheus-jitsi-meet-exporter/releases/download/${EXPORTER_VERSION}/prometheus-jitsi-meet-exporter_${EXPORTER_VERSION}_linux_amd64.tar.gz"
|
||||
if [ -f "${__object}/parameter/disable-prometheus-exporter" ]; then
|
||||
EXPORTER_STATE="absent"
|
||||
else
|
||||
EXPORTER_STATE="present"
|
||||
fi
|
||||
# TODO: disable the exporter if it is deployed and then admin changes their mind
|
||||
__evilham_single_binary_service prometheus-jitsi-meet-exporter \
|
||||
--state "${EXPORTER_STATE}" \
|
||||
--do-not-manage-user \
|
||||
--user "nobody" \
|
||||
--group "nogroup" \
|
||||
--version "${EXPORTER_VERSION}" \
|
||||
--checksum "${EXPORTER_CHECKSUM}" \
|
||||
--url "${EXPORTER_URL}" \
|
||||
--unpack \
|
||||
--service-args "-videobridge-url 'http://localhost:8080/colibri/stats' -web.listen-address ':9888'"
|
||||
|
||||
#
|
||||
# Setup interpreter assets if requested
|
||||
|
|
|
@ -32,4 +32,4 @@ download_file doc/debian/jitsi-meet-prosody/prosody.cfg.lua-jvb.example prosody.
|
|||
|
||||
# Change the version file, maintainers should check that it matches
|
||||
# the deb version
|
||||
printf "2.0.${BRANCH#*_}-1" > jitsi-version
|
||||
printf "2.0.%s-1" "${BRANCH#*_}" > jitsi-version
|
||||
|
|
|
@ -1028,9 +1028,9 @@ ${ANALYTICS_SETTINGS}
|
|||
// Endpoint that enables support for salesforce integration with in-meeting resource linking
|
||||
// This is required for:
|
||||
// listing the most recent records - salesforceUrl/records/recents
|
||||
// searching records - salesforceUrl/records?text=${text}
|
||||
// retrieving record details - salesforceUrl/records/${id}?type=${type}
|
||||
// and linking the meeting - salesforceUrl/sessions/${sessionId}/records/${id}
|
||||
// searching records - salesforceUrl/records?text=\${text}
|
||||
// retrieving record details - salesforceUrl/records/\${id}?type=\${type}
|
||||
// and linking the meeting - salesforceUrl/sessions/\${sessionId}/records/\${id}
|
||||
//
|
||||
// salesforceUrl: 'https://api.example.com/',
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ JITSI_INTERFACE_CONFIG_JS="$(cat <<EOF
|
|||
*/
|
||||
|
||||
var interfaceConfig = {
|
||||
APP_NAME: 'Jitsi Meet',
|
||||
APP_NAME: '${BRANDING_APP_NAME}',
|
||||
AUDIO_LEVEL_PRIMARY_COLOR: 'rgba(255,255,255,0.4)',
|
||||
AUDIO_LEVEL_SECONDARY_COLOR: 'rgba(255,255,255,0.2)',
|
||||
|
||||
|
|
|
@ -153,6 +153,8 @@ Component "internal.auth.${JITSI_DOMAIN:?}" "muc"
|
|||
admins = { "${FOCUS_USER:?}@auth.${JITSI_HOST:?}", "jvb@auth.${JITSI_HOST:?}" }
|
||||
muc_room_locking = false
|
||||
muc_room_default_public_jids = true
|
||||
-- https://prosody.im/doc/modules/mod_muc
|
||||
muc_room_cache_size = 1000
|
||||
${PROSODY_DOMAIN_END}
|
||||
${PROSODY_MAIN_START}
|
||||
-- This will be managed by __jitsi_meet
|
||||
|
|
|
@ -93,6 +93,15 @@ video-constraints
|
|||
It must not have a trailing comma, see `constraints` in
|
||||
`__jitsi_meet_domain/files/config.js.sh`.
|
||||
|
||||
branding-app-name
|
||||
This will change `Jitsi Meet` in many places to the brand you desire.
|
||||
Defaults to `Jitsi Meet`.
|
||||
|
||||
branding-extra-body
|
||||
This must be valid HTML, it will be included server-side and delivered to
|
||||
clients alongside the default `index.html`.
|
||||
This is useful if you would rather not replace the whole `index`, but
|
||||
still want the chance to do some heavier branding / add instructions / etc.
|
||||
|
||||
branding-json
|
||||
Path to a JSON file that will be served as the `dynamicBrandingUrl`.
|
||||
|
@ -100,14 +109,12 @@ branding-json
|
|||
`__jitsi_meet_domain/files/config.js.sh`.
|
||||
If not set, no branding will be set up.
|
||||
|
||||
|
||||
branding-index
|
||||
Path to an HTML file that will be served instead of Jitsi-Meet's default
|
||||
one.
|
||||
If not set, the default index file will be used.
|
||||
If set to `-`, the type's standard input will be used.
|
||||
|
||||
|
||||
branding-watermark
|
||||
Path to a png file that will be served instead of Jitsi-Meet's default
|
||||
one.
|
||||
|
|
|
@ -19,6 +19,7 @@ START_VIDEO_MUTED="$(cat "${__object}/parameter/start-video-muted")"
|
|||
TURN_SERVER="$(cat "${__object}/parameter/turn-server")"
|
||||
VIDEO_CONSTRAINTS="$(cat "${__object}/parameter/video-constraints")"
|
||||
ANALYTICS_SETTINGS="$(cat "${__object}/parameter/analytics-settings")"
|
||||
BRANDING_APP_NAME="$(cat "${__object}/parameter/branding-app-name")"
|
||||
BRANDING_INDEX="$(cat "${__object}/parameter/branding-index")"
|
||||
BRANDING_JSON="$(cat "${__object}/parameter/branding-json")"
|
||||
BRANDING_WATERMARK="$(cat "${__object}/parameter/branding-watermark")"
|
||||
|
@ -131,6 +132,11 @@ __file "/usr/share/jitsi-meet/images/watermark-${DOMAIN}.png" \
|
|||
--mode 0644 \
|
||||
--state "$(_var_state "${BRANDING_WATERMARK}")" \
|
||||
--source "${BRANDING_WATERMARK}"
|
||||
# Simple body customisation
|
||||
__file "/usr/share/jitsi-meet/body-${DOMAIN}.html" \
|
||||
--mode 0644 \
|
||||
--state "$(_var_state "${STATE}")" \
|
||||
--source "${__object}/parameter/branding-extra-body"
|
||||
|
||||
#
|
||||
# Take care of prosody settings for the domain
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Jitsi Meet
|
|
@ -5,7 +5,9 @@ notice-message
|
|||
start-video-muted
|
||||
turn-server
|
||||
video-constraints
|
||||
branding-app-name
|
||||
branding-json
|
||||
branding-index
|
||||
branding-extra-body
|
||||
branding-watermark
|
||||
state
|
||||
|
|
Loading…
Reference in a new issue