civicrm-wordpress/entrypoint.sh

83 lines
2.5 KiB
Bash
Raw Normal View History

2023-03-08 15:45:31 +00:00
#!/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"
2023-03-22 13:59:18 +00:00
file_env "SMTP_PASSWORD"
2023-03-08 15:45:31 +00:00
2023-03-23 10:40:58 +00:00
until mysql -e '\q' -h db -p"${WORDPRESS_DB_PASS}" && mysql -e '\q' -h "${CIVICRM_DB_HOST}" -p"${CIVICRM_DB_PASS}"; do
2023-03-08 15:45:31 +00:00
echo "Waiting for db container to come up"
sleep 1
done;
echo "=== Running Docker Entrypoint"
/usr/local/bin/civicrm-docker-entrypoint
2023-03-20 16:04:05 +00:00
echo "Installing Wordpress"
2023-03-22 13:59:18 +00:00
su civicrm -c "wp core install --locale=de_DE --url=$BASE_URL --title=$PROJECT_NAME --admin_user=admin --admin_email=$SMTP_USER"
2023-03-20 16:37:17 +00:00
su civicrm -c "wp language core install de_DE"
su civicrm -c "wp language core activate de_DE"
2023-03-20 16:04:05 +00:00
2023-03-22 16:09:20 +00:00
if ! [[ -d /var/www/html/wp-content/plugins/civicrm/civicrm/l10n ]]; then
2023-03-23 10:40:58 +00:00
echo "=== Moving Civicrm L10n"
2023-03-22 16:09:20 +00:00
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
chown -R civicrm:civicrm civicrm/l10n civicrm/sql
popd
2023-03-23 10:40:58 +00:00
fi
if ! [[ -f /var/www/html/wp-content/uploads/civicrm/is_installed ]]; then
pushd /var/www/html/wp-content/uploads/civicrm/
echo "=== Running Civicrm Docker Install"
touch is_installed
rm -rf civicrm.settings.php
su civicrm -c "wp plugin activate civicrm"
2023-03-22 16:09:20 +00:00
2023-03-23 10:40:58 +00:00
# TODO: extract module and extension stuff to .env
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"
2023-03-22 16:09:20 +00:00
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
2023-03-23 10:40:58 +00:00
chown -R civicrm:civicrm templates_c
2023-03-22 16:09:20 +00:00
popd
else
echo "=== Running Civicrm Upgrade"
echo "=== well, not yet"
2023-03-23 10:40:58 +00:00
# TODO: Should we run a upgrade here?
# * run dump backup
# * check version specifig upgrade steps: https://docs.civicrm.org/sysadmin/en/latest/upgrade/version-specific/
# * run upgrade
# * cv flush
2023-03-22 16:09:20 +00:00
fi
2023-03-08 15:45:31 +00:00
2023-03-23 10:40:58 +00:00
echo "=== Running Webserver"
2023-03-20 16:04:05 +00:00
exec apache2-foreground