50 lines
1.6 KiB
Bash
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
|