From 27b8c6a42eb67ff9afe8a85064d8a8f2f85e900e Mon Sep 17 00:00:00 2001 From: Philipp Rothmann Date: Thu, 30 Mar 2023 13:55:01 +0200 Subject: [PATCH] add upgrade steps --- compose.yml | 2 +- entrypoint.sh | 57 +++++++++++++++++++++++++-------------------------- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/compose.yml b/compose.yml index 584d0e7..dfe7185 100644 --- a/compose.yml +++ b/compose.yml @@ -3,7 +3,7 @@ version: "3.8" services: app: - image: michaelmcandrew/civicrm:5.59.2-wordpress-php8.1 + image: michaelmcandrew/civicrm:5.59.4-wordpress-php8.1 hostname: civicrm environment: - PROJECT_NAME diff --git a/entrypoint.sh b/entrypoint.sh index c0c7504..f4f6dd6 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -30,25 +30,25 @@ file_env "CIVICRM_CRED_KEYS" file_env "SMTP_PASSWORD" if [[ "${1-default}" == "cron" ]]; then - echo "Running cron job" + echo "============ Running cron job ============" env /usr/local/bin/php /usr/local/bin/cv api job.execute --user=admin --cwd=/var/www/html/ exit $? fi until mysql -e '\q' -h db -p"${WORDPRESS_DB_PASS}" && mysql -e '\q' -h "${CIVICRM_DB_HOST}" -p"${CIVICRM_DB_PASS}"; do - echo "Waiting for db container to come up" - sleep 1 + echo "============ Waiting for db container to come up============" + sleep 2 done; -echo "Running Docker Entrypoint" +echo "============ Running Docker Entrypoint ============" /usr/local/bin/civicrm-docker-entrypoint # Check if Wordpress already installed if su civicrm -c "wp core is-installed"; then - echo "Wordpress already installed" + echo "============ Wordpress already installed ============" else - echo "Installing Wordpress" + echo "============ Installing Wordpress ============" su civicrm -c "wp core install --locale=de_DE --url=$BASE_URL --title=$PROJECT_NAME --admin_user=admin --admin_email=$SMTP_USER" su civicrm -c "wp language core install de_DE" su civicrm -c "wp language core activate de_DE" @@ -56,7 +56,7 @@ fi # Setup Civicrm L10n if ! [[ -d /var/www/html/wp-content/plugins/civicrm/civicrm/l10n ]]; then - echo "=== Moving Civicrm L10n" + echo "============ Moving Civicrm L10n ============" pushd /var/www/html/wp-content/plugins/civicrm/ mkdir -p civicrm/l10n cp -r l10n/de_DE civicrm/l10n @@ -67,32 +67,31 @@ if ! [[ -d /var/www/html/wp-content/plugins/civicrm/civicrm/l10n ]]; then fi # Install Civicrm -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" +pushd /var/www/html/wp-content/uploads/civicrm/ + if ! [[ -f /var/www/html/wp-content/uploads/civicrm/is_installed ]]; then + echo "============ Running Civicrm Docker Install ============" + touch is_installed + rm -rf 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 $CIVICRM_COMPONENTS" + 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 + chown -R civicrm:civicrm templates_c upload + else + # https://docs.civicrm.org/sysadmin/en/latest/upgrade/wordpress/ + echo "============ Running Civicrm Upgrade Steps ============" + rm -rf templates_c + su civicrm -c "cv upgrade:db" + su civicrm -c "cv flush" + fi +popd - # 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 $CIVICRM_COMPONENTS" - 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 - chown -R civicrm:civicrm templates_c upload - popd -fi - # TODO: How do we upgrade a existing civicrm installation? - # * run dump backup - # * check version specifig upgrade steps: https://docs.civicrm.org/sysadmin/en/latest/upgrade/version-specific/ - # * run upgrade - # * cv flush - -echo "Setting up cron" +echo "============ Setting up cron ============" printenv > /etc/environment apt update && apt install -y cron crontab -l | { cat; echo "*/5 * * * * /usr/local/bin/entrypoint.sh cron > /tmp/cronlog 2>&1"; } | crontab - cron -echo "Running Webserver" +echo "============ Running Webserver ============" exec apache2-foreground \ No newline at end of file