|
|
|
@@ -0,0 +1,50 @@ |
|
|
|
#!/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 |