Files
moodle/entrypoint.sh.tmpl

50 lines
1.6 KiB
Bash

#!/bin/sh
echo Installing necessary packages...
apk update
apk add libzip-dev zip libpng-dev libxml2-dev icu-dev alpine-conf sudo
{{ if (env "INSTALL_PACKAGES") }}
apk add {{ env "INSTALL_PACKAGES" }}
{{ end }}
# opcache is only available in the alpine community repo
setup-apkrepos -c1
apk add php84-opcache
echo Installing PHP extensions...
docker-php-ext-install zip
docker-php-ext-install pdo_mysql
docker-php-ext-install mysqli
docker-php-ext-install gd
docker-php-ext-install intl
docker-php-ext-install soap
docker-php-ext-install exif
docker-php-ext-install unicode
{{ if (env "PHP_EXTENSIONS") }}
docker-php-ext-install {{ env "PHP_EXTENSIONS" }}
{{ end }}
# todo: check if already installed
echo "Installing..."
cd /var/www
curl "https://download.moodle.org/download.php/direct/{{ env "MOODLE_VERSION" }}.tgz" -L -o moodle.tgz
tar xzf moodle.tgz --strip-components=1 -C /var/www/html
chown -R root /var/www/html
chmod -R 0755 /var/www/html
mkdir moodledata
chmod 0777 /var/www/moodledata
# run database installer with www user
chown www-data /var/www/html/
cd /var/www/html/admin/cli
sudo -E -u www-data php install_database.php --agree-license --fullname="{{ env "MOODLE_FULLNAME" }}" \
--shortname="{{ env "MOODLE_SHORTNAME" }}" --adminuser="{{ env "MOODLE_ADMINNAME" }}" --adminpass=$(cat /run/secrets/admin_password) \ --adminemail="{{ env "MOODLE_ADMINMAIL" }}" --summary="{{ env "MOODLE_SUMMARY" }}" --supportemail="{{ env "MOODLE_SUPPORTMAIL" }}" \
--lang={{ env "MOODLE_LANGUAGE"}}
chown -R root /var/www/html/
echo "Installation finished..."
#fi
exec "$@"
php-fpm