wiki.social.coop/entrypoint.sh.tmpl

60 lines
1.6 KiB
Cheetah
Raw Normal View History

#!/bin/bash
set -eu -o pipefail
init_db() {
2020-09-16 20:19:23 +00:00
set -eu
2020-09-16 20:19:23 +00:00
if ! type mysql > /dev/null 2>&1; then
2020-10-15 14:26:32 +00:00
apt update && apt install -y \
curl \
git \
mariadb-client \
php-cli \
unzip
curl -sS https://getcomposer.org/installer -o composer-setup.php
export HASH="a69df12e86a0a18fbedfc91a33d5f9acc5cf939576e0258326074fc1b2ee1aea"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Composer installer verified'; } else { echo 'Composer installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.15
composer -V
2020-09-16 20:19:23 +00:00
fi
PASSWORD=$(cat /run/secrets/db_password)
TABLE_COUNT=$(mysql -u "${DB_USER}" --password="$PASSWORD" -h "${DB_HOST}" "${DB_NAME}" -e "SELECT count(*) AS TOTAL FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'mediawiki';" -N -B)
2020-09-16 20:19:23 +00:00
if [[ "${TABLE_COUNT}" == "0" ]]; then
mysql -u "${DB_USER}" --password="$PASSWORD" -h "${DB_HOST}" "${DB_NAME}" < /var/www/html/maintenance/tables.sql
2020-09-16 20:19:23 +00:00
else
php /var/www/html/maintenance/update.php
fi
}
install_extensions() {
if [ ! -d /var/www/html/extensions/PluggableAuth ]; then
git clone --depth 1 -b REL1_32 \
https://gerrit.wikimedia.org/r/p/mediawiki/extensions/PluggableAuth \
/var/www/html/extensions/PluggableAuth
fi
if [ ! -d /var/www/html/extensions/SimpleSAMLphp ]; then
git clone --depth 1 -b REL1_32 \
https://gerrit.wikimedia.org/r/p/mediawiki/extensions/SimpleSAMLphp \
/var/www/html/extensions/SimpleSAMLphp
fi
}
main() {
2020-09-16 20:19:23 +00:00
set -eu
a2enmod rewrite
2020-09-16 20:19:23 +00:00
install_extensions
2020-09-08 00:09:52 +00:00
2020-09-16 20:19:23 +00:00
init_db
}
main
/docker-entrypoint.sh apache2-foreground "$@"