#!/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.' # 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