49 lines
1.1 KiB
Bash
Executable File
49 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
init_db() {
|
|
set -eu
|
|
|
|
if ! type mysql > /dev/null 2>&1; then
|
|
apt update && apt install -y mariadb-client
|
|
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)
|
|
|
|
if [[ "${TABLE_COUNT}" == "0" ]]; then
|
|
mysql -u "${DB_USER}" --password="$PASSWORD" -h "${DB_HOST}" "${DB_NAME}" < /var/www/html/maintenance/tables.sql
|
|
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() {
|
|
set -eu
|
|
|
|
a2enmod rewrite
|
|
|
|
install_extensions
|
|
|
|
init_db
|
|
}
|
|
|
|
main
|
|
|
|
/docker-entrypoint.sh apache2-foreground "$@"
|