#!/bin/bash set -eu file_env() { local var="$1" local fileVar="${var}_FILE" local def="${2:-}" if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then echo >&2 "error: both $var and $fileVar are set (but are exclusive)" exit 1 fi local val="$def" if [ "${!var:-}" ]; then val="${!var}" elif [ "${!fileVar:-}" ]; then val="$(< "${!fileVar}")" fi export "$var"="$val" unset "$fileVar" } file_env "WORDPRESS_DB_PASS" file_env "CIVICRM_DB_PASS" file_env "CIVICRM_SITE_KEY" file_env "CIVICRM_CRED_KEYS" until mysql -e '\q' -h db -p"${WORDPRESS_DB_PASS}" && mysql -e '\q' -h db-civicrm -p"${CIVICRM_DB_PASS}"; do echo "Waiting for db container to come up" sleep 1 done; echo "=== Running Docker Entrypoint" /usr/local/bin/civicrm-docker-entrypoint echo "Installing Wordpress" su civicrm -c "wp core install --locale=de_DE --url=$BASE_URL --title=$PROJECT_NAME --admin_user=admin --admin_email=admin@example.org" su civicrm -c "wp language core install de_DE" su civicrm -c "wp language core activate de_DE" echo "=== Running Civicrm Docker Install" pushd /var/www/html/wp-content/plugins/civicrm/ mkdir -p civicrm/l10n cp -r l10n/de_DE civicrm/l10n cp -r sql/civicrm_acl.de_DE.mysql civicrm/sql/civicrm_acl.de_DE.mysql cp -r sql/civicrm_data.de_DE.mysql civicrm/sql/civicrm_data.de_DE.mysql popd rm -rf /var/www/html/wp-content/uploads/civicrm/civicrm.settings.php su civicrm -c "wp plugin activate civicrm" su civicrm -c "cv core:install -vv --keep --db=mysql://$CIVICRM_DB_USER:$CIVICRM_DB_PASS@$CIVICRM_DB_HOST:$CIVICRM_DB_PORT/$CIVICRM_DB_NAME --lang de_DE --comp CiviEvent,CiviMember" pushd /var/www/html/wp-content/uploads/civicrm mv civicrm.settings.php civicrm.settings.php.generated cp /usr/local/etc/civicrm/civicrm.settings.php civicrm.settings.php chmod a-wx /var/www/html/wp-content/uploads/civicrm/civicrm.settings.php popd echo "=== Running Apache2" exec apache2-foreground