51 lines
2.4 KiB
Bash
Executable file
51 lines
2.4 KiB
Bash
Executable file
#!/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
|