mirror of
https://github.com/Sabai-Technologies/sogo-docker.git
synced 2026-01-23 00:24:02 +00:00
40 lines
No EOL
1.8 KiB
Bash
Executable file
40 lines
No EOL
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
source /usr/local/bin/common.sh
|
|
|
|
check_require "MYSQL_SERVER" $MYSQL_SERVER
|
|
check_require "MYSQL_ROOT_PASSWORD" $MYSQL_ROOT_PASSWORD
|
|
check_require "MYSQL_USER" $MYSQL_USER
|
|
check_require "MYSQL_USER_PASSWORD" $MYSQL_USER_PASSWORD
|
|
MYSQL_PORT=${MYSQL_PORT:-3306}
|
|
MYSQL_DATABASE_NAME=${MYSQL_DATABASE_NAME:sogo}
|
|
|
|
wait_for_db() {
|
|
log_info "Trying to connect to the DB server"
|
|
DOCKERIZE_TIMEOUT=${DOCKERIZE_TIMEOUT:-"60s"}
|
|
dockerize -timeout ${DOCKERIZE_TIMEOUT} -wait tcp://${MYSQL_SERVER}:${MYSQL_PORT:-3306}
|
|
if [[ $? -ne 0 ]]; then
|
|
log_error "Cannot connect to the DB server"
|
|
exit 1
|
|
fi
|
|
log_info "Successfully connected to the DB server"
|
|
}
|
|
|
|
init_db(){
|
|
log_info "Checking if database exists"
|
|
if [[ -z "`mysql -h$MYSQL_SERVER -P${MYSQL_PORT:-3306} -uroot -p$MYSQL_ROOT_PASSWORD -qfsBe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='$MYSQL_USER'" 2>&1`" ]];then
|
|
log_info "Creating database"
|
|
mysql -h$MYSQL_SERVER -P$MYSQL_PORT -uroot -p$MYSQL_ROOT_PASSWORD -e "
|
|
CREATE DATABASE $MYSQL_DATABASE_NAME CHARACTER SET='utf8';
|
|
CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_USER_PASSWORD';
|
|
GRANT ALL PRIVILEGES ON $MYSQL_DATABASE_NAME.* TO '$MYSQL_USER'@'%' WITH GRANT OPTION;
|
|
FLUSH PRIVILEGES;"
|
|
|
|
else
|
|
log_info "Database already exist"
|
|
fi
|
|
|
|
update_conf "SOGoProfileURL" \"mysql://$MYSQL_USER:$MYSQL_USER_PASSWORD@$MYSQL_SERVER:$MYSQL_PORT/$MYSQL_DATABASE_NAME/sogo_user_profile\"
|
|
update_conf "OCSFolderInfoURL" \"mysql://$MYSQL_USER:$MYSQL_USER_PASSWORD@$MYSQL_SERVER:$MYSQL_PORT/$MYSQL_DATABASE_NAME/sogo_folder_info\"
|
|
update_conf "OCSSessionsFolderURL" \"mysql://$MYSQL_USER:$MYSQL_USER_PASSWORD@$MYSQL_SERVER:$MYSQL_PORT/$MYSQL_DATABASE_NAME/sogo_sessions_folder\"
|
|
} |