forked from coop-cloud/mediawiki
Diabolical solution for custom entrypoint
This commit is contained in:
parent
665de8b1fc
commit
212d0196e5
13
compose.yml
13
compose.yml
|
@ -37,6 +37,9 @@ services:
|
|||
configs:
|
||||
- source: LocalSettings_conf
|
||||
target: /var/www/html/LocalSettings.php
|
||||
- source: entrypoint2_conf
|
||||
target: /docker-entrypoint2.sh
|
||||
mode: 0555
|
||||
depends_on:
|
||||
- mariadb
|
||||
secrets:
|
||||
|
@ -53,7 +56,7 @@ services:
|
|||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`)"
|
||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
entrypoint: ./entrypoint.sh
|
||||
entrypoint: /docker-entrypoint2.sh
|
||||
|
||||
volumes:
|
||||
mariadb:
|
||||
|
@ -67,10 +70,10 @@ networks:
|
|||
|
||||
secrets:
|
||||
db_root_password:
|
||||
name: ${STACK_NAME}_db_root_password_${DB_ROOT_PASSWD_VERSION}
|
||||
name: ${STACK_NAME}_db_root_password_${DB_ROOT_PASSWORD_VERSION}
|
||||
external: true
|
||||
db_password:
|
||||
name: ${STACK_NAME}_db_password_${DB_PASSWD_VERSION}
|
||||
name: ${STACK_NAME}_db_password_${DB_PASSWORD_VERSION}
|
||||
external: true
|
||||
|
||||
configs:
|
||||
|
@ -78,3 +81,7 @@ configs:
|
|||
name: ${STACK_NAME}_local_settings_${LOCAL_SETTINGS_CONF_VERSION}
|
||||
file: LocalSettings.php.tmpl
|
||||
template_driver: golang
|
||||
entrypoint2_conf:
|
||||
name: ${STACK_NAME}_entrypoint2_${ENTRYPOINT_CONF_VERSION}
|
||||
file: entrypoint.sh
|
||||
template_driver: golang
|
||||
|
|
|
@ -2,28 +2,27 @@
|
|||
|
||||
set -eu -o pipefail
|
||||
|
||||
run_install() {
|
||||
init_db() {
|
||||
set -eu
|
||||
|
||||
php /var/www/html/maintenance/install.php
|
||||
--server ${DOMAIN}
|
||||
--dbuser mediawiki
|
||||
--dbpass `cat /run/secrets/db_password`
|
||||
--dbserver mariadb
|
||||
--confpath /var/www/html/
|
||||
--dbname mediawiki
|
||||
--pass `cat /run/secrets/admin_password`
|
||||
--scriptpath ''
|
||||
'${MEDIAWIKI_SITENAME}'
|
||||
Admin
|
||||
apt update && apt install -y mariadb-client
|
||||
|
||||
PASSWORD=`cat /run/secrets/db_password`
|
||||
TABLE_COUNT=$(mysql -u mediawiki --password="$PASSWORD" -h mariadb mediawiki -e "SELECT count(*) AS TOTAL FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'mediawiki';" -N -B)
|
||||
|
||||
if [[ "${TABLE_COUNT}" == "0" ]]; then
|
||||
mysql -u mediawiki --password="$PASSWORD" -h mariadb mediawiki < /var/www/html/maintenance/tables.sql
|
||||
else
|
||||
php /var/www/html/maintenance/update.php
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
set -eu
|
||||
|
||||
run_install
|
||||
init_db
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
/docker-entrypoint "$@"
|
||||
/docker-entrypoint.sh apache2-foreground "$@"
|
||||
|
|
Loading…
Reference in New Issue