feat(jigasi,transcriber): transcriber component and jigasi configuration updates (#1881)
* feat(jigasi): new JIGASI_MODE variable for sip vs transcriber behavior * wip: split jigasi config into segments * prune jigasi compose variables * prune further variables * append instead of overwrite * fix variables * sync xmpp config with meet configs * further config syncup * remove property from xmpp section * move translator as per comments * fix sipserver trailing end * fix acc domain for jigasi bosh join * fix public domain * jigasi openjdk requirement * make gcloud optional for transcription configuration * revert dockerfile to discuss separately * revert translator config removal * remove translator config from transcriber compose
This commit is contained in:
committed by
GitHub
parent
3e93212f0a
commit
3f6740809c
@@ -13,6 +13,14 @@ if [[ "$JIGASI_XMPP_PASSWORD" == "$OLD_JIGASI_XMPP_PASSWORD" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -z "$JIGASI_MODE" ] && JIGASI_MODE="sip"
|
||||
JIGASI_MODE="$(echo $JIGASI_MODE | tr '[:upper:]' '[:lower:]')"
|
||||
|
||||
if [[ "$JIGASI_MODE" == "transcriber" ]]; then
|
||||
# set random jigasi nickname for the instance if is not set
|
||||
[ -z "${JIGASI_INSTANCE_ID}" ] && export JIGASI_INSTANCE_ID="transcriber-$(date +%N)"
|
||||
fi
|
||||
|
||||
# set random jigasi nickname for the instance if is not set
|
||||
[ -z "${JIGASI_INSTANCE_ID}" ] && export JIGASI_INSTANCE_ID="jigasi-$(date +%N)"
|
||||
|
||||
@@ -47,39 +55,42 @@ fi
|
||||
|
||||
tpl /defaults/logging.properties > /config/logging.properties
|
||||
tpl /defaults/sip-communicator.properties > /config/sip-communicator.properties
|
||||
tpl /defaults/xmpp-sip-communicator.properties >> /config/sip-communicator.properties
|
||||
|
||||
if [[ "$JIGASI_MODE" == "sip" ]]; then
|
||||
tpl /defaults/sipserver-sip-communicator.properties >> /config/sip-communicator.properties
|
||||
elif [[ "$JIGASI_MODE" == "transcriber" ]]; then
|
||||
tpl /defaults/transcriber-sip-communicator.properties >> /config/sip-communicator.properties
|
||||
mkdir -pm777 /tmp/transcripts
|
||||
chown jigasi:jitsi /tmp/transcripts
|
||||
|
||||
# Create Google Cloud Credentials
|
||||
if [[ -z $GC_PROJECT_ID || -z $GC_PRIVATE_KEY_ID || -z $GC_PRIVATE_KEY || -z $GC_CLIENT_EMAIL || -z $GC_CLIENT_ID || -z $GC_CLIENT_CERT_URL ]]; then
|
||||
echo 'Transcriptions: One or more gcloud environment variables are undefined, skipping gcloud credentials file /config/key.json'
|
||||
else
|
||||
jq -n \
|
||||
--arg GC_PROJECT_ID "$GC_PROJECT_ID" \
|
||||
--arg GC_PRIVATE_KEY_ID "$GC_PRIVATE_KEY_ID" \
|
||||
--arg GC_PRIVATE_KEY "$GC_PRIVATE_KEY" \
|
||||
--arg GC_CLIENT_EMAIL "$GC_CLIENT_EMAIL" \
|
||||
--arg GC_CLIENT_ID "$GC_CLIENT_ID" \
|
||||
--arg GC_CLIENT_CERT_URL "$GC_CLIENT_CERT_URL" \
|
||||
'{
|
||||
type: "service_account",
|
||||
project_id: $GC_PROJECT_ID,
|
||||
private_key_id: $GC_PRIVATE_KEY_ID,
|
||||
private_key: $GC_PRIVATE_KEY,
|
||||
client_email: $GC_CLIENT_EMAIL,
|
||||
client_id: $GC_CLIENT_ID,
|
||||
auth_uri: "https://accounts.google.com/o/oauth2/auth",
|
||||
token_uri: "https://oauth2.googleapis.com/token",
|
||||
auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
|
||||
client_x509_cert_url: $GC_CLIENT_CERT_URL
|
||||
}' \
|
||||
> /config/key.json
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -f /config/custom-sip-communicator.properties ]]; then
|
||||
cat /config/custom-sip-communicator.properties >> /config/sip-communicator.properties
|
||||
fi
|
||||
|
||||
mkdir -pm777 /tmp/transcripts
|
||||
chown jigasi:jitsi /tmp/transcripts
|
||||
|
||||
# Create Google Cloud Credentials
|
||||
if [[ $ENABLE_TRANSCRIPTIONS -eq 1 || $ENABLE_TRANSCRIPTIONS == "true" ]]; then
|
||||
if [[ -z $GC_PROJECT_ID || -z $GC_PRIVATE_KEY_ID || -z $GC_PRIVATE_KEY || -z $GC_CLIENT_EMAIL || -z $GC_CLIENT_ID || -z $GC_CLIENT_CERT_URL ]]; then
|
||||
echo 'Transcriptions: One or more environment variables are undefined'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
jq -n \
|
||||
--arg GC_PROJECT_ID "$GC_PROJECT_ID" \
|
||||
--arg GC_PRIVATE_KEY_ID "$GC_PRIVATE_KEY_ID" \
|
||||
--arg GC_PRIVATE_KEY "$GC_PRIVATE_KEY" \
|
||||
--arg GC_CLIENT_EMAIL "$GC_CLIENT_EMAIL" \
|
||||
--arg GC_CLIENT_ID "$GC_CLIENT_ID" \
|
||||
--arg GC_CLIENT_CERT_URL "$GC_CLIENT_CERT_URL" \
|
||||
'{
|
||||
type: "service_account",
|
||||
project_id: $GC_PROJECT_ID,
|
||||
private_key_id: $GC_PRIVATE_KEY_ID,
|
||||
private_key: $GC_PRIVATE_KEY,
|
||||
client_email: $GC_CLIENT_EMAIL,
|
||||
client_id: $GC_CLIENT_ID,
|
||||
auth_uri: "https://accounts.google.com/o/oauth2/auth",
|
||||
token_uri: "https://oauth2.googleapis.com/token",
|
||||
auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
|
||||
client_x509_cert_url: $GC_CLIENT_CERT_URL
|
||||
}' \
|
||||
> /config/key.json
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user