You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.3 KiB
96 lines
3.3 KiB
#!/bin/bash
|
|
|
|
KAZ_ROOT=$(cd $(dirname $0)/../..; pwd)
|
|
. "${KAZ_ROOT}/bin/.commonFunctions.sh"
|
|
setKazVars
|
|
. "${DOCKERS_ENV}"
|
|
. "${KAZ_KEY_DIR}/SetAllPass.sh"
|
|
|
|
# begin commun service init
|
|
cd $(dirname $0)
|
|
PWD=$(pwd)
|
|
ORGA_DIR=$(basename ${PWD})
|
|
|
|
if [[ "${ORGA_DIR}" != *"-orga" ]]
|
|
then
|
|
printKazError "it's not an orga dir"
|
|
exit
|
|
fi
|
|
ORGA=${ORGA_DIR%-orga}
|
|
if [[ -z "${ORGA}" ]]
|
|
then
|
|
printKazError "it's not an orga dir"
|
|
exit
|
|
fi
|
|
|
|
printKazMsg "init agora ${ORGA}"
|
|
|
|
CONF_DIR="${VOL_DIR}/orga_${ORGA}-matterConfig/_data"
|
|
JSON_CONF="${CONF_DIR}/config.json"
|
|
MATTER_URI="${ORGA}-${matterHost}.${domain}"
|
|
MATTER_URL="${httpProto}://${MATTER_URI}"
|
|
ORGA_FLAG="${ORGA_DIR//-/_}"
|
|
DockerServName="${ORGA_FLAG}-${mattermostServName}"
|
|
|
|
if ! [[ "$(docker ps -f name=${DockerServName} | grep -w ${DockerServName})" ]]; then
|
|
printKazError "Agora not running... abort"
|
|
exit
|
|
fi
|
|
|
|
echo "
|
|
CREATE DATABASE IF NOT EXISTS ${mattermost_MYSQL_DATABASE};
|
|
|
|
DROP USER IF EXISTS '${mattermost_MYSQL_USER}';
|
|
CREATE USER '${mattermost_MYSQL_USER}'@'%';
|
|
|
|
GRANT ALL ON ${mattermost_MYSQL_DATABASE}.* TO '${mattermost_MYSQL_USER}'@'%' IDENTIFIED BY '${mattermost_MYSQL_PASSWORD}';
|
|
|
|
FLUSH PRIVILEGES;" | \
|
|
docker exec -i "${ORGA}-DB" bash -c "mysql --user=root --password=${mattermost_MYSQL_ROOT_PASSWORD}"
|
|
|
|
|
|
getToken(){
|
|
curl -i -s -d "{\"login_id\":\"${mattermost_MM_ADMIN_USER}\",\"password\":\"${mattermost_MM_ADMIN_PASSWORD}\"}" "${MATTER_URL}/api/v4/users/login" | grep 'token' | sed 's/token:\s*\(.*\)\s*/\1/' | tr -d '\r'
|
|
}
|
|
|
|
waitUrl "${MATTER_URL}"
|
|
[ -z "$(getToken)" ] || exit
|
|
|
|
printKazMsg "\n *** Premier lancement de Mattermost"
|
|
|
|
|
|
# XXX utiliser le compte de l'admin
|
|
curl -i -d "{\"email\":\"${mattermost_MM_ADMIN_EMAIL}\",\"username\":\"${mattermost_MM_ADMIN_USER}\",\"password\":\"${mattermost_MM_ADMIN_PASSWORD}\",\"allow_marketing\":true}" "${MATTER_URL}/api/v4/users"
|
|
|
|
waitUrl "${MATTER_URL}"
|
|
MM_TOKEN=$(getToken)
|
|
|
|
curl -i -H "Authorization: Bearer ${MM_TOKEN}" -d "{\"display_name\":\"${ORGA}\",\"name\":\"${ORGA,,}\",\"type\":\"O\"}" "${MATTER_URL}/api/v4/teams"
|
|
|
|
sed -i \
|
|
-e 's|"SiteURL": ".*"|"SiteURL": "'${MATTER_URL}'"|g' \
|
|
-e 's|"WebsocketURL": ".*"|"WebsocketURL": "wss://'${MATTER_URI}'"|g' \
|
|
-e 's|"AllowCorsFrom": ".*"|"AllowCorsFrom": "'${domain}' '${MATTER_URI}':443 '${MATTER_URI}'"|g' \
|
|
-e 's|"ConsoleLevel": ".*"|"ConsoleLevel": "ERROR"|g' \
|
|
-e 's|"SendEmailNotifications": false|"SendEmailNotifications": true|g' \
|
|
-e 's|"FeedbackEmail": ".*"|"FeedbackEmail": "admin@'${domain}'"|g' \
|
|
-e 's|"FeedbackOrganization": ".*"|"FeedbackOrganization": "Cochez la KAZ du libre !"|g' \
|
|
-e 's|"ReplyToAddress": ".*"|"ReplyToAddress": "admin@'${domain}'"|g' \
|
|
-e 's|"SMTPServer": ".*"|"SMTPServer": "mail.'${domain}'"|g' \
|
|
-e 's|"SMTPPort": ".*"|"SMTPPort": "25"|g' \
|
|
-e 's|"DefaultServerLocale": ".*"|"DefaultServerLocale": "fr"|g' \
|
|
-e 's|"DefaultClientLocale": ".*"|"DefaultClientLocale": "fr"|g' \
|
|
-e 's|"AvailableLocales": ".*"|"AvailableLocales": "fr"|g' \
|
|
${JSON_CONF}
|
|
|
|
# "jitsi": {
|
|
# "jitsiappid": null,
|
|
# "jitsiappsecret": null,
|
|
# "jitsicompatibilitymode": false,
|
|
# "jitsiembedded": false,
|
|
# "jitsijwt": null,
|
|
# "jitsilinkvalidtime": 30,
|
|
# "jitsinamingscheme": "words",
|
|
# "jitsiurl": "https://meet.jit.si",
|
|
# "Enable": true
|
|
# }
|
|
|