#!/usr/bin/env bash
# This is a bash script for generating strong passwords for the Jitsi role in this ansible project:
# https://github.com/spantaleev/matrix-docker-ansible-deploy
# This script assumes that you followed the documentation at https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook.md and created a folder in the source code's directory like this: 'mkdir inventory/host_vars/matrix.<your-domain>'
# it will put the generated passwords for Jitsi at the end of the vars.yml file in that directory
function generatePassword( ) {
openssl rand -hex 16
}
# helper function to get the matrix domain in the host_vars directory
function get_domain_dir( ) {
counter = 0
for f in *; do
counter = $(( counter + 1 ))
if [ ! -d " $f " ] ; then
echo "Error: could not find directory 'matrix.your.domain'"
echo "Did you create it already? Please first setup your matrix homeserver before running this script."
echo "You should start here: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/prerequisites.md"
exit 1
elif [ [ " $counter " -gt 1 ] ] ; then
echo "Error: multiple directories found in ../host_vars/. Only one directory like 'matrix.your.domain' expected."
echo "Please make sure there is only one directory holding your vars.yml for this ansible playbook."
echo "Cannot continue script, exiting."
exit 1
fi
# Will not set domain if zero or multiple directories are detected
domain = $f
done
}
cd ../host_vars
get_domain_dir
JICOFO_COMPONENT_SECRET = $( generatePassword)
JICOFO_AUTH_PASSWORD = $( generatePassword)
JVB_AUTH_PASSWORD = $( generatePassword)
JIBRI_RECORDER_PASSWORD = $( generatePassword)
JIBRI_XMPP_PASSWORD = $( generatePassword)
echo "" >> ../host_vars/${ domain } /vars.yml
echo "Jitsi passwords generated by inventory/scripts/gen-passwords.sh" >> ../host_vars/${ domain } /vars.yml
echo " matrix_jitsi_jicofo_component_secret: $JICOFO_COMPONENT_SECRET " >> ../host_vars/${ domain } /vars.yml
echo " matrix_jitsi_jicofo_auth_password: $JICOFO_AUTH_PASSWORD " >> ../host_vars/${ domain } /vars.yml
echo " matrix_jitsi_jvb_auth_password: $JVB_AUTH_PASSWORD " >> ../host_vars/${ domain } /vars.yml
echo " matrix_jitsi_jibri_recorder_password: $JIBRI_RECORDER_PASSWORD " >> ../host_vars/${ domain } /vars.yml
echo " matrix_jitsi_jibri_xmpp_password: $JIBRI_XMPP_PASSWORD " >> ../host_vars/${ domain } /vars.yml