#!/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 "$@"