Compare commits

...

2 Commits

Author SHA1 Message Date
Philipp Rothmann 27b8c6a42e add upgrade steps 2023-03-30 13:55:01 +02:00
Philipp Rothmann e3401ddfd4 add optimisation 2023-03-30 13:54:48 +02:00
3 changed files with 32 additions and 30 deletions

View File

@ -77,5 +77,8 @@ if ($memLimit >= 0 and $memLimit < 134217728) {
ini_set('memory_limit', '128M'); ini_set('memory_limit', '128M');
} }
// Optimizations from https://docs.civicrm.org/sysadmin/en/latest/setup/optimizations/
define('CIVICRM_TEMPLATE_COMPILE_CHECK', FALSE);
require_once 'CRM/Core/ClassLoader.php'; require_once 'CRM/Core/ClassLoader.php';
CRM_Core_ClassLoader::singleton()->register(); CRM_Core_ClassLoader::singleton()->register();

View File

@ -3,7 +3,7 @@ version: "3.8"
services: services:
app: app:
image: michaelmcandrew/civicrm:5.59.2-wordpress-php8.1 image: michaelmcandrew/civicrm:5.59.4-wordpress-php8.1
hostname: civicrm hostname: civicrm
environment: environment:
- PROJECT_NAME - PROJECT_NAME

View File

@ -30,25 +30,25 @@ file_env "CIVICRM_CRED_KEYS"
file_env "SMTP_PASSWORD" file_env "SMTP_PASSWORD"
if [[ "${1-default}" == "cron" ]]; then if [[ "${1-default}" == "cron" ]]; then
echo "Running cron job" echo "============ Running cron job ============"
env env
/usr/local/bin/php /usr/local/bin/cv api job.execute --user=admin --cwd=/var/www/html/ /usr/local/bin/php /usr/local/bin/cv api job.execute --user=admin --cwd=/var/www/html/
exit $? exit $?
fi fi
until mysql -e '\q' -h db -p"${WORDPRESS_DB_PASS}" && mysql -e '\q' -h "${CIVICRM_DB_HOST}" -p"${CIVICRM_DB_PASS}"; do 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" echo "============ Waiting for db container to come up============"
sleep 1 sleep 2
done; done;
echo "Running Docker Entrypoint" echo "============ Running Docker Entrypoint ============"
/usr/local/bin/civicrm-docker-entrypoint /usr/local/bin/civicrm-docker-entrypoint
# Check if Wordpress already installed # Check if Wordpress already installed
if su civicrm -c "wp core is-installed"; then if su civicrm -c "wp core is-installed"; then
echo "Wordpress already installed" echo "============ Wordpress already installed ============"
else 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 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 install de_DE"
su civicrm -c "wp language core activate de_DE" su civicrm -c "wp language core activate de_DE"
@ -56,7 +56,7 @@ fi
# Setup Civicrm L10n # Setup Civicrm L10n
if ! [[ -d /var/www/html/wp-content/plugins/civicrm/civicrm/l10n ]]; then 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/ pushd /var/www/html/wp-content/plugins/civicrm/
mkdir -p civicrm/l10n mkdir -p civicrm/l10n
cp -r l10n/de_DE 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 fi
# Install Civicrm # Install Civicrm
if ! [[ -f /var/www/html/wp-content/uploads/civicrm/is_installed ]]; then pushd /var/www/html/wp-content/uploads/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" echo "============ Running Civicrm Docker Install ============"
touch is_installed touch is_installed
rm -rf civicrm.settings.php rm -rf civicrm.settings.php
su civicrm -c "wp plugin activate civicrm" 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 echo "============ Setting up cron ============"
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"
printenv > /etc/environment printenv > /etc/environment
apt update && apt install -y cron apt update && apt install -y cron
crontab -l | { cat; echo "*/5 * * * * /usr/local/bin/entrypoint.sh cron > /tmp/cronlog 2>&1"; } | crontab - crontab -l | { cat; echo "*/5 * * * * /usr/local/bin/entrypoint.sh cron > /tmp/cronlog 2>&1"; } | crontab -
cron cron
echo "Running Webserver" echo "============ Running Webserver ============"
exec apache2-foreground exec apache2-foreground