#!/usr/bin/env bash set -Eeuo pipefail : "${MARIADB_ROOT_PASSWORD:?MARIADB_ROOT_PASSWORD is required}" : "${WORDPRESS_DB_NAME:?WORDPRESS_DB_NAME is required}" : "${WORDPRESS_DB_USER:?WORDPRESS_DB_USER is required}" : "${WORDPRESS_DB_PASSWORD:?WORDPRESS_DB_PASSWORD is required}" mkdir -p /run/mysqld /var/lib/mysql chown -R mysql:mysql /run/mysqld /var/lib/mysql if [ ! -d /var/lib/mysql/mysql ]; then mariadb-install-db --user=mysql --datadir=/var/lib/mysql >/dev/null fi mariadbd --user=mysql --bind-address=127.0.0.1 --skip-name-resolve & DB_PID=$! cleanup() { kill "$DB_PID" 2>/dev/null || true; } trap cleanup EXIT for _ in $(seq 1 60); do mariadb-admin ping --silent >/dev/null 2>&1 && break sleep 1 done mariadb-admin ping --silent >/dev/null 2>&1 || { echo 'MariaDB failed to start' >&2; exit 1; } mariadb -uroot < /var/www/html/wp-config-extra.php <<'PHP' /dev/null 2>&1; then break; fi if [ ! -f /var/www/html/wp-config.php ]; then wp core download --path=/var/www/html --force --allow-root >/dev/null 2>&1 || true wp config create --path=/var/www/html --dbname="$WORDPRESS_DB_NAME" --dbuser="$WORDPRESS_DB_USER" --dbpass="$WORDPRESS_DB_PASSWORD" --dbhost=127.0.0.1 --skip-check --force --allow-root >/dev/null 2>&1 || true fi wp core install --path=/var/www/html --url="${SPACE_HOST:-http://localhost:7860}" --title='Bema Learn API' --admin_user="${WP_ADMIN_USER:-admin}" --admin_password="${WP_ADMIN_PASSWORD:-change-me-admin}" --admin_email="${WP_ADMIN_EMAIL:-admin@example.test}" --skip-email --allow-root >/dev/null 2>&1 || true sleep 2 done wp core is-installed --path=/var/www/html --allow-root >/dev/null 2>&1 || { echo 'WordPress failed to initialize' >&2; exit 1; } wp plugin activate bemalearn --path=/var/www/html --allow-root >/dev/null wp rewrite structure '/%postname%/' --path=/var/www/html --allow-root >/dev/null 2>&1 || true wp rewrite flush --hard --path=/var/www/html --allow-root >/dev/null 2>&1 || true wait "$APACHE_PID"