digitaldemocratic/dd-apps/docker/moodle/02-configure-moodle.sh

86 lines
2.8 KiB
Bash
Raw Normal View History

#!/bin/sh
set -eo pipefail
echo "Waiting for $database:$port to be ready"
while ! nc -w 1 $DB_HOST $DB_PORT; do
# Show some progress
echo -n '.';
sleep 1;
done
echo "$database is ready"
sleep 3;
if [ ! -f /var/www/html/config.php ]; then
curl --location https://github.com/moodle/moodle/archive/$MOODLE_VERSION.tar.gz | tar xz --strip-components=1 -C /var/www/html/
cp /isinstalled.php /var/www/html/admin/cli/
chown nobody:root /var/www/html -R
echo "Generating config.php file..."
ENV_VAR='var' php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/install.php \
--lang=$MOODLE_LANGUAGE \
--wwwroot=$SITE_URL \
--dataroot=/var/www/moodledata/ \
--dbtype=$DB_TYPE \
--dbhost=$DB_HOST \
--dbname=$DB_NAME \
--dbuser=$DB_USER \
--dbpass=$DB_PASS \
--dbport=$DB_PORT \
--prefix=$DB_PREFIX \
--fullname="$MOODLE_SITENAME" \
--shortname="$MOODLE_SHORTSITENAME" \
--adminuser=$MOODLE_USERNAME \
--adminpass=$MOODLE_PASSWORD \
--adminemail=$MOODLE_EMAIL \
--non-interactive \
--agree-license \
--skip-database
if [ "$SSLPROXY" = 'true' ]; then
sed -i '/require_once/i $CFG->sslproxy=true;' /var/www/html/config.php
fi
fi
if php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/isinstalled.php ; then
echo "Installing database..."
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/install_database.php \
--lang=$MOODLE_LANGUAGE \
--adminuser=$MOODLE_USERNAME \
--adminpass=$MOODLE_PASSWORD \
--adminemail=$MOODLE_EMAIL \
--fullname="$MOODLE_SITENAME" \
--shortname="$MOODLE_SHORTSITENAME" \
--agree-license
echo "Configuring settings..."
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=pathtophp --set=/usr/bin/php
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=pathtodu --set=/usr/bin/du
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=enableblogs --set=0
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=smtphosts --set=$SMTP_HOST:$SMTP_PORT
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=smtpuser --set=$SMTP_USER
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=smtppass --set=$SMTP_PASSWORD
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=smtpsecure --set=$SMTP_PROTOCOL
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=noreplyaddress --set=$MOODLE_MAIL_NOREPLY_ADDRESS
php -d max_input_vars=$max_input_vars /var/www/html/admin/cli/cfg.php --name=emailsubjectprefix --set=$MOODLE_MAIL_PREFIX
fi
chown -R nobody:root /var/www/html