From 43b5242e3449e19b5ce03bf1b31359e12fc9ae69 Mon Sep 17 00:00:00 2001 From: Philipp Rothmann Date: Wed, 29 Mar 2023 17:46:16 +0200 Subject: [PATCH] install extensions --- .env.sample | 2 +- README.md | 11 ++++++++++ abra.sh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++- compose.yml | 1 + 4 files changed, 70 insertions(+), 2 deletions(-) diff --git a/.env.sample b/.env.sample index 5bb33e7..29f98e0 100644 --- a/.env.sample +++ b/.env.sample @@ -10,7 +10,7 @@ LETS_ENCRYPT_ENV=production PROJECT_NAME=example CIVICRM_COMPONENTS=CiviEvent,CiviContribute,CiviMember,CiviMail,CiviReport - +# CIVICRM_EXTENSIONS=shoreditch mosaico CIVICRM_DB_NAME=civicrm CIVICRM_DB_USER=civicrm CIVICRM_DB_HOST=mysql diff --git a/README.md b/README.md index c13830a..a3b1ed9 100644 --- a/README.md +++ b/README.md @@ -23,3 +23,14 @@ For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech). + +### Install extensions + +set them in the env config and run: `abra app cmd civi.dev.local-it.cloud app install_extensions` + +to install unoffical extension run smth like: + +``` +abra app cmd civi.dev.local-it.cloud app install_custom_extension shoreditch https://github.com/civicrm/org.civicrm.shoreditch +abra app cmd civi.dev.local-it.cloud app install_custom_extension shoreditchwpworkarounds https://lab.civicrm.org/extensions/shoreditchwpworkarounds.git +``` diff --git a/abra.sh b/abra.sh index b49c887..03a1ae3 100644 --- a/abra.sh +++ b/abra.sh @@ -1,5 +1,61 @@ #!/bin/bash +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" +file_env "SMTP_PASSWORD" + + export APACHE_SITES_AVAILABLE_CONF_VERSION=v1 export CIVICRM_SETTINGS_PHP_VERSION=v1 -export ENTRYPOINT_VERSION=v1 \ No newline at end of file +export ENTRYPOINT_VERSION=v1 + +change_password(){ + echo "Changing password for $1" + su civicrm -c "wp user update $1 --user_pass=$2" +} + +install_extensions(){ + install_apps="$@" + if [ -z "$install_apps" ] + then + install_apps=$CIVICRM_EXTENSIONS + fi + for app in $install_apps + do + echo "Installing $app" + cv ext:download "$app" + cv ext:enable "$app" + done + cv ext:upgrade-db +} + + +# install_custom_extension org.civicrm.shoreditch https://github.com/civicrm/org.civicrm.shoreditch +install_custom_extension(){ + apt update && apt install -y git + git clone "$2" /var/www/html/wp-content/uploads/civicrm/ext/"$1" + cv ext:enable "$1" +} \ No newline at end of file diff --git a/compose.yml b/compose.yml index 91edd08..584d0e7 100644 --- a/compose.yml +++ b/compose.yml @@ -14,6 +14,7 @@ services: - CIVICRM_DB_HOST=civicrm-db - CIVICRM_DB_PORT=3306 - CIVICRM_COMPONENTS + - CIVICRM_EXTENSIONS - WORDPRESS_DB_NAME=wordpress - WORDPRESS_DB_USER=wordpress - WORDPRESS_DB_PASS_FILE=/run/secrets/db_password