Compare commits

...

32 Commits

Author SHA1 Message Date
kiara aa021529ed add registry steps, credentials still missing
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-10-18 19:53:28 +00:00
Kiara Grouwstra c15e822635 CI: fix indentation
ci/woodpecker/manual/woodpecker Pipeline was successful Details
2022-10-18 20:04:30 +02:00
Kiara Grouwstra 9119cb380c port cd to woodpecker even if this is still missing push to gitea registry... 2022-10-18 20:03:02 +02:00
Kiara Grouwstra 0dad9c710f Revert "update civicrm to 5.54.0"
This reverts commit 5bdd654931.
2022-10-18 18:30:54 +02:00
Kiara Grouwstra 5bdd654931 update civicrm to 5.54.0 2022-10-18 18:14:05 +02:00
Kiara Grouwstra bfb92552ef make php version explicit 2022-10-18 18:12:17 +02:00
Kiara Grouwstra b3d24565fa clear civi settings prior to install
when it's still there install just fails
2022-10-18 17:32:26 +02:00
Kiara Grouwstra ce0ad2354a fix script name in dockerfile 2022-10-17 22:25:19 +02:00
Kiara Grouwstra 72d23d5eb7 ditch attempts to store db in git 2022-10-17 17:25:49 +02:00
Kiara Grouwstra 75a7fb93f8 reset.sh -> install.sh 2022-10-16 11:40:58 +02:00
Kiara Grouwstra 2e3260bc0c document requirement: docker compose 2022-10-16 11:33:09 +02:00
Kiara Grouwstra e653404ddb initialize db as using utf8 2022-10-14 15:10:58 +02:00
Kiara Grouwstra eccd029cfb debug container wprdpress 2022-10-14 14:50:02 +02:00
Kiara Grouwstra 0243dac4fb docker compose doesn't like my Containerfiles 😿😿
error was:
> failed to solve with frontend dockerfile.v0: failed to read dockerfile
2022-10-14 13:28:02 +02:00
Kiara Grouwstra 783fec334a rename Dockerfile
Containerfile is more generic
2022-10-13 20:49:25 +02:00
Kiara Grouwstra eba941d752 facilitate testing 2022-10-13 20:47:22 +02:00
Kiara Grouwstra 3ec89b60c5 add phpunit 2022-10-13 17:25:11 +02:00
Kiara Grouwstra 83cefdce1c more fluent Make flow 2022-10-12 17:04:04 +02:00
Kiara Grouwstra 9b1ae4970d update extensions 2022-10-12 12:38:36 +02:00
Kiara Grouwstra b40b67016b nginx: fix upload limit 2022-10-12 12:38:00 +02:00
Kiara Grouwstra 0170961448 split readme section 2022-10-07 21:11:59 +02:00
Kiara Grouwstra 7be4568479 reproduce locally 2022-10-07 20:54:08 +02:00
Kiara Grouwstra 105550700c update sample csv 2022-06-13 18:04:32 +02:00
Kiara Grouwstra 0129022ec7 reset.sh $version 2022-06-13 18:04:23 +02:00
Kiara Grouwstra 25ab7f9f96 ignore archives 2022-06-13 16:46:52 +02:00
Kiara Grouwstra 02c68fe374 ignore zips 2022-06-13 16:44:47 +02:00
Kiara Grouwstra 4a8991054d Merge branch 'main' into feature/import 2022-06-13 16:43:35 +02:00
Kiara Grouwstra ef2553a3d3 Update README.md - civi version 2022-06-09 16:24:39 +00:00
Paul J Stevens 090c0e0331 fix: ensure mysql connections can work 2022-06-06 14:28:08 +02:00
Paul J Stevens 407f36a21c fix: undo hardcoded mysql host in reset.sh 2022-06-05 17:50:11 +02:00
Paul J Stevens f7126de637 initial deploy config 2022-06-05 17:48:12 +02:00
Geert Lamers 888c8668dc Add additional extensions 2022-05-24 09:40:21 +02:00
14 changed files with 126 additions and 192 deletions

3
.env
View File

@ -1,4 +1,4 @@
WP_HOST=crm.bij1.test
WP_HOST=localhost
WP_DB_USER=civi
WP_DB_PASSWORD=password123
WP_DB_NAME=civi_wp
@ -8,3 +8,4 @@ WP_ADMIN_PASSWORD=password123
WP_ADMIN_EMAIL=ict@bij1.org
WP_NAME=civi-bij1
DB_ROOT_PASSWORD=password123
DB_ADMIN_PASSWORD=password123

4
.gitignore vendored
View File

@ -1,3 +1,3 @@
*.zip
*.tar.gz
wordpress/
sql/wp_*.sql
sql/civicrm_*_cache.sql

17
.woodpecker.yml Normal file
View File

@ -0,0 +1,17 @@
pipeline:
build:
image: docker:19.03.12
commands:
- apk add --no-cache git
- /bin/sh ./image.sh build
- docker login code.bij1.org --username "$USER" --password "$TOKEN"
- docker push code.bij1.org/bij1/civicrm-bij1:latest
# secrets: [ token ]
when:
- event: push
branch: main
services:
docker:
image: docker:19.03.12-dind

View File

@ -1,14 +1,19 @@
start:
docker-compose -f docker-compose.yml up -d
reset: stop clean build start
stop:
docker-compose -f docker-compose.yml stop
docker compose stop
clean:
sudo rm -rf ./wordpress/*
start:
docker compose up -d
build:
docker-compose -f docker-compose.yml build
docker compose build
install:
docker-compose -f docker-compose.yml exec --user=www-data wp reset.sh
docker compose exec --user=www-data civi bash -c "rm /var/www/civi/wp-content/uploads/civicrm/civicrm.settings.php; sh /usr/local/bin/install.sh"
shell:
docker-compose -f docker-compose.yml exec --user=www-data wp bash
docker compose exec civi bash

View File

@ -3,35 +3,26 @@
## Requirements
- [Docker](https://docker.com/)
- [Docker Compose](https://docs.docker.com/compose/install/) (incl. CLI plugin)
## Usage
### run
```bash
# download
plugins=./wordpress/wp-content/plugins/
mkdir -p $plugins
wget -O $plugins/civi.zip https://download.civicrm.org/civicrm-5.42.0-wordpress.zip
wget -O $plugins/civi-l10n.tar.gz https://download.civicrm.org/civicrm-5.42.0-l10n.tar.gz
unzip ./$plugins/civi.zip -d $plugins
tar -xf ./$plugins/civi-l10n.tar.gz -C $plugins/civicrm
# run
docker stack deploy -c stack.yml civi
make start
sleep 2 # give the containers time to spin up
make install
# http://localhost/wp-admin/admin.php?page=CiviCRM
# civi
# password123
```
### deploy
```bash
docker swarm init
docker stack deploy -c ./deploy/staging/stack.yml civi
docker stack ps civi
docker stack rm civi
# TODO: docker-php-ext-install intl
# http://127.0.0.1:8080/ -> pick dutch (Nederlands) -> set admin login -> go
# http://127.0.0.1:8080/wp-admin/plugin-install.php
# back up db
DB=exampledb
USER=exampleuser
PW=examplepass
DBHOST=127.0.0.1
mkdir -p sql
# we'll back up civicrm tables containing settings, not tables containing user data, credentials or ephemeral stuff
# make sure to use bash as zsh bugs out on this list variable assignment
# handling skipped tables here rather than in .gitignore so that sensitive data wouldn't even get downloaded
tables=`mysqlshow -h $DBHOST -u $USER --password="$PW" $DB | tail -n +5 | grep --only-matching --extended-regexp 'civicrm_[_a-z]+' | grep -v '_cache' | grep -v 'log_civicrm_' | grep -v '_log' | grep -v '_contact\>' | grep -v '_address\>' | grep -v '_cxn' | grep -v '_mailing_event' | grep -v '_pledge' | grep -v '_trxn' | grep -v '_contribution\>' | grep -v '_contribution_recur' | grep -v '_contribution_soft' | grep -v '_discount' | grep -v '_domain' | grep -v '_email' | grep -v '_entity_batch' | grep -v '_email' | grep -v '_entity_batch' | grep -v '_entity_file' | grep -v '_entity_financial_account' | grep -v '_entity_financial_trxn' | grep -v '_entity_tag' | grep -v '_financial_account' | grep -v '_financial_item' | grep -v '_grant' | grep -v '_group_organization' | grep -v '_im' | grep -v '_line_item' | grep -v '_loc_block' | grep -v '_mail_settings' | grep -v '_mailing_job' | grep -v '_mailing_recipients' | grep -v '_mailing_spool' | grep -v '_membership\>' | grep -v '_membership_payment' | grep -v '_note' | grep -v '_openid' | grep -v '_participant\>' | grep -v '_participant_payment' | grep -v '_payment_processor\>' | grep -v '_payment_token' | grep -v '_pcp' | grep -v '_phone' | grep -v '_relationship\>' | grep -v '_saved_search' | grep -v '_sms_provider' | grep -v '_subscription_history' | grep -v '_uf_match'`
for tbl in $tables; do mysqldump --column-statistics=0 -h $DBHOST -u $USER --password="$PW" $DB $tbl 2>/dev/null | head -n -2 > ./sql/$tbl.sql; done
# restoring a db backup
for file in `ls -d sql/*`; do mysql -h $DBHOST -u $USER --password="$PW" $DB < $file; done
```

View File

@ -1,2 +1,2 @@
Name,lidnummer,Lidmaatschapsstatus,Voornaam,Achternaam,e-mailadres,Straat,Postcode,Plaatsnaam,Land,Inschrijvingsdatum,periode,termijnbedrag,interesse in vrijwilligerswerk,Notes,Telefoonnummer,Totaal Contributie 2020,Jan,Feb,Maart,April,Mei,Juni,Juli,Augustus,September,Okt,Nov,Dec,Totaal contributie,mollie id,IBAN
Voornaam achternaam,1234,Lid,Voornaam,Achternaam,name@example.com,Straat 123,1234 AB,Amsterdam,Nederland,1/1/2021,Per maand,€1.00,,info over wijzigingen met datum,0612345678,0,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,0,cst_ABCDEFGHIJ,NL17INGB0000000000
Name,lidnummer,Lidmaatschapsstatus,periode,mollie_id,termijnbedrag,triodos,Notes,Voornaam,Achternaam,email,Straat,Postcode,Plaatsnaam,Land,Inschrijvingsdatum,netto,jaaropbrengst,Source,medium,interesse in vrijwilligerswerk,Attachments,Rollen,Telefoonnummer,Totaal Contributie 2020,Jan,Feb,Maart,April,Mei,Juni,Juli,Augustus,September,Okt,Nov,Dec,Totaal contributie,Website nieuw,IBAN,sociaal_tarief,postcode_check
Voornaam achternaam,1234,Lid,Per maand,cst_ABCDEFGHIJ,€1.00,ja,,Voornaam,Achternaam,name@example.com,Straat 123,1234 AB,Amsterdam,Nederland,1/1/2021,€1.00,€1.00,utrecht,menu,info over wijzigingen met datum,,,0612345678,0,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,€1.00,0,,NL17INGB0000000000,ja,1

1 Name lidnummer Lidmaatschapsstatus periode mollie_id e-mailadres termijnbedrag triodos Notes Voornaam Achternaam email Straat Postcode Plaatsnaam Land Inschrijvingsdatum netto jaaropbrengst Source medium interesse in vrijwilligerswerk Attachments Rollen Telefoonnummer Totaal Contributie 2020 Jan Feb Maart April Mei mollie id Juni Juli Augustus September Okt Nov Dec Totaal contributie Website nieuw IBAN sociaal_tarief postcode_check
2 Voornaam achternaam 1234 Lid Per maand cst_ABCDEFGHIJ name@example.com €1.00 ja info over wijzigingen met datum Voornaam Achternaam name@example.com Straat 123 1234 AB Amsterdam Nederland 1/1/2021 €1.00 €1.00 utrecht menu info over wijzigingen met datum 0612345678 0 €1.00 €1.00 €1.00 €1.00 €1.00 cst_ABCDEFGHIJ €1.00 €1.00 €1.00 €1.00 €1.00 €1.00 €1.00 0 NL17INGB0000000000 ja 1

11
deploy/staging/env Normal file
View File

@ -0,0 +1,11 @@
WORDPRESS_HOST=civi-staging.bij1.test
WORDPRESS_DB_USER=civi_staging
WORDPRESS_DB_PASSWORD=vTzh0P4BmtjaxfgKauZUKyI2fVoufQJe
WORDPRESS_DB_NAME=civi_staging_wp
WORDPRESS_DB_HOST=host.docker.internal
CIVI_DB_NAME=civi_staging
WORDPRESS_ADMIN_USER=civi
WORDPRESS_ADMIN_PASSWORD=password123
WORDPRESS_ADMIN_EMAIL=ict@bij1.org
WORDPRESS_NAME=civi-bij1
DB_ROOT_PASSWORD=

25
deploy/staging/stack.yml Normal file
View File

@ -0,0 +1,25 @@
version: '3'
services:
civi:
image: $DOCKER_IMAGE
extra_hosts:
- "host.docker.internal:host-gateway"
env_file:
- ./env
deploy:
replicas: 2
resources:
limits:
memory: 500M
restart_policy:
condition: on-failure
ports:
- "8080:80"
networks:
- webnet
logging:
driver: journald
volumes:
- /run/mysqld/mysqld.sock:/run/mysqld/mysqld.sock
networks:
webnet:

View File

@ -1,7 +1,7 @@
version: "3.1"
services:
wp:
civi:
build:
context: ./wp
args:

View File

@ -1,11 +1,12 @@
upstream wordpress {
server wp:9000;
server civi:9000;
}
server {
listen 80;
server_name crm.bij1.test;
server_name localhost;
root /var/www/civi;
client_max_body_size 32m;
index index.php;

View File

@ -1,32 +0,0 @@
version: '3'
services:
redirect:
image: $DOCKER_IMAGE
environment:
WORDPRESS_HOST: $WP_HOST
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: $WP_DB_USER
WORDPRESS_DB_PASSWORD: $WP_DB_PASSWORD
WORDPRESS_DB_NAME: $WP_DB_NAME
CIVI_DB_NAME: $CIVI_DB_NAME
WORDPRESS_NAME: $WP_NAME
WORDPRESS_ADMIN_USER: $WP_ADMIN_USER
WORDPRESS_ADMIN_PASSWORD: $WP_ADMIN_PASSWORD
WORDPRESS_ADMIN_EMAIL: $WP_ADMIN_EMAIL
deploy:
replicas: 2
resources:
limits:
cpus: "0.5"
memory: 100M
restart_policy:
condition: on-failure
ports:
- "8000:8000"
networks:
- webnet
logging:
driver: journald
networks:
webnet:

View File

@ -1,89 +0,0 @@
#!/bin/bash
# ssh root@wp-staging.bij1.net
set -u
: "${wp_pw:?Variable not set or empty}"
# packages
sudo apt-get install -y curl ed
sudo curl -LsS https://download.civicrm.org/cv/cv.phar -o /usr/local/bin/cv
sudo chmod +x /usr/local/bin/cv
# db
# sudo /etc/init.d/mysql start
export wp_host=civi.wp-staging.bij1.net
export db_host=localhost
export db_user=civi
export wp_db=civi_wp
export crm_db=civi_crm
export db_pw=`date +%s | sha256sum | base64 | head -c 32 ; echo`
mysql -e "DROP USER IF EXISTS $db_user@localhost;"
mysql -e "flush privileges;"
mysql -e "CREATE USER $db_user@localhost IDENTIFIED BY '$db_pw';"
for db in "$wp_db" "$crm_db"; do
mysql -e "DROP DATABASE IF EXISTS $db;"
mysql -e "CREATE DATABASE $db;"
mysql -e "GRANT ALL PRIVILEGES ON $db.* TO '$db_user'@'localhost';"
done
# reset
cd /var/www/
rm -rf civi
# chown www-data:www-data -R civi
sudo wp_host=$wp_host db_host=$db_host db_user=$db_user db_pw=$db_pw wp_db=$wp_db crm_db=$crm_db su -l www-data -s /bin/bash
mkdir civi
cd civi
# TODO: sudo -u www-data
wp core download
# config
cp wp-config-sample.php wp-config.php
wp config shuffle-salts
wp config set DB_HOST "$db_host:3306"
wp config set DB_NAME "$wp_db"
wp config set DB_USER "$db_user"
wp config set DB_PASSWORD "$db_pw"
# sudo su -l www-data -s /bin/bash
# cd /var/www/civi
# wp_host=civi.wp-staging.bij1.net
# db_host=localhost
# db_user=civi
# wp_db=civi_wp
# crm_db=civi_crm
# db_pw=`wp config get DB_PASSWORD`
# plugins=wp-content/plugins
# install
wp db check
wp core install --url="$wp_host" --title='civi-bij1' --admin_user='civi' --admin_password="$wp_pw" --admin_email='ict@bij1.org' --skip-email
# language
wp language core install nl_NL
wp language core activate nl_NL
# civi
plugins=wp-content/plugins
wget -O $plugins/civi.zip https://download.civicrm.org/civicrm-5.42.0-wordpress.zip
unzip $plugins/civi.zip -d $plugins
rm $plugins/civi.zip
wget -O $plugins/civi-l10n.tar.gz https://download.civicrm.org/civicrm-5.42.0-l10n.tar.gz
tar -xf $plugins/civi-l10n.tar.gz -C $plugins/civicrm
rm $plugins/civi-l10n.tar.gz
rm -f -- ./wp-content/uploads/civicrm/civicrm.settings.php
cv --no-interaction core:install -vv --setup-path="$(pwd)/$plugins/civicrm" --src-path="$(pwd)/$plugins/civicrm/civicrm" --user='www-data' --cms-base-url="https://$wp_host" --lang='nl_NL' --ext='' --comp='CiviMember' -m "db.username=$db_user" -m "db.database=$crm_db" -m "db.password=$db_pw"
wp plugin activate civicrm
cp ./wp-content/uploads/civicrm/civicrm.settings.php ./wp-content/uploads/civicrm/civicrm.settings.php.bck
echo "$(wp option get siteurl)/wp-admin/admin.php?page=civi_options"
# https://docs.civicrm.org/installation/en/latest/general/cli-cv/
# https://developer.wordpress.org/cli/commands/option/
# theme
# wp theme install <theme|zip|url> --force --activate
# wp language theme install bij1-wp nl_NL
# git db
# https://github.com/mattes/wp-cli-git-command
# wp db export
# wp db import

View File

@ -1,4 +1,4 @@
FROM wordpress:5.8.1-fpm
FROM wordpress:6.0.2-php7.4-fpm
COPY custom.ini $PHP_INI_DIR/conf.d/
ARG WORDPRESS_HOST=civi.wp-staging.bij1.net
@ -8,16 +8,20 @@ ARG WORDPRESS_DB_NAME=civi_wp
ARG WORDPRESS_DB_PASSWORD=password123
ARG CIVI_DB_NAME=civi_crm
ENV WP_VERSION=5.8.1
ENV WP_VERSION=6.0.2
ENV DB_ROOT_PASSWORD=password123
ENV DB_ADMIN_PASSWORD=password123
RUN apt-get update \
&& apt-get install -yy curl ed default-mysql-client unzip git libicu67 libicu-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN docker-php-ext-install intl
RUN docker-php-ext-install intl pdo_mysql
RUN curl -L https://phar.phpunit.de/phpunit-9.5.phar -o /usr/local/bin/phpunit
RUN chmod +x /usr/local/bin/phpunit
COPY bin/reset.sh /usr/local/bin/reset.sh
COPY bin/install.sh /usr/local/bin/install.sh
ADD https://download.civicrm.org/cv/cv.phar /usr/local/bin/cv
ADD https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar /usr/local/bin/wp
RUN chmod a+rx /usr/local/bin/cv /usr/local/bin/reset.sh /usr/local/bin/wp
RUN chmod a+rx /usr/local/bin/cv /usr/local/bin/install.sh /usr/local/bin/wp
RUN chown -R www-data:www-data /var/www/

View File

@ -1,22 +1,20 @@
#!/bin/sh
set -e
set -ex
version=5.48.0
# install PHPUnit
# Prepare database
if [ -n "$DB_ROOT_PASSWORD" ]; then
mysql -p"$DB_ROOT_PASSWORD" -u root -h $WORDPRESS_DB_HOST -e "DROP USER IF EXISTS '${WORDPRESS_DB_USER}'; FLUSH PRIVILEGES; CREATE USER '${WORDPRESS_DB_USER}' IDENTIFIED BY '${WORDPRESS_DB_PASSWORD}';"
mysql -p"$DB_ROOT_PASSWORD" -u root -h $WORDPRESS_DB_HOST -e "DROP USER IF EXISTS '${WORDPRESS_DB_USER}'; FLUSH PRIVILEGES; CREATE USER '${WORDPRESS_DB_USER}' IDENTIFIED BY '${WORDPRESS_DB_PASSWORD}';"
for db in "${WORDPRESS_DB_NAME}" "${CIVI_DB_NAME}" ; do
mysql -p"$DB_ROOT_PASSWORD" -u root -h $WORDPRESS_DB_HOST -e "DROP DATABASE IF EXISTS ${db}; CREATE DATABASE ${db}; GRANT ALL PRIVILEGES ON ${db}.* TO '${WORDPRESS_DB_USER}'"
done
fi
for db in "${WORDPRESS_DB_NAME}" "${CIVI_DB_NAME}" ; do
mysql -p"$DB_ROOT_PASSWORD" -u root -h $WORDPRESS_DB_HOST -e "DROP DATABASE IF EXISTS ${db}; CREATE DATABASE ${db} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL PRIVILEGES ON ${db}.* TO '${WORDPRESS_DB_USER}'"
done
# Download codebase
cd /var/www
rm -rf civi/* civi/
mkdir -p civi
cd civi
wp core download --version=$WP_VERSION
# # Download codebase
# wp core download --version=$WP_VERSION
# Set config
cp wp-config-sample.php wp-config.php
@ -25,6 +23,8 @@ wp config set DB_HOST "${WORDPRESS_DB_HOST}:3306"
wp config set DB_NAME "$WORDPRESS_DB_NAME"
wp config set DB_USER "$WORDPRESS_DB_USER"
wp config set DB_PASSWORD "$WORDPRESS_DB_PASSWORD"
wp config set WP_DEBUG "true"
wp config set WP_DEBUG_LOG "true"
# Install
wp db check
@ -42,8 +42,8 @@ wp site switch-language nl_NL
# Install CiviCRM
PLUGIN_DIR=`pwd`/wp-content/plugins
curl -LsS -o /tmp/civi.zip https://download.civicrm.org/civicrm-5.42.0-wordpress.zip
curl -LsS -o /tmp/civi-l10n.tar.gz https://download.civicrm.org/civicrm-5.42.0-l10n.tar.gz
curl -LsS -o /tmp/civi.zip https://download.civicrm.org/civicrm-$version-wordpress.zip
curl -LsS -o /tmp/civi-l10n.tar.gz https://download.civicrm.org/civicrm-$version-l10n.tar.gz
unzip -d $PLUGIN_DIR /tmp/civi.zip
tar -xf /tmp/civi-l10n.tar.gz -C $PLUGIN_DIR/civicrm
@ -58,7 +58,7 @@ cv --no-interaction core:install -vv --setup-path=$PLUGIN_DIR/civicrm \
--user=www-data \
--cms-base-url="https://${WORDPRESS_HOST}" \
--lang=nl_NL \
--db "mysql://$WORDPRESS_DB_USER:$WORDPRESS_DB_PASSWORD@/run%2Fmysqld%2Fmysqld.dock/$CIVI_DB_NAME"
--db "mysql://$WORDPRESS_DB_USER:$WORDPRESS_DB_PASSWORD@$WORDPRESS_DB_HOST/$CIVI_DB_NAME"
wp plugin activate civicrm
cp wp-content/uploads/civicrm/civicrm.settings.php wp-content/uploads/civicrm/civicrm.settings.php.bak
@ -68,31 +68,31 @@ cv upgrade:db
# Install extensions
cd wp-content/uploads/civicrm/ext
git clone https://code.bij1.org/bij1/crm-bij1migratie.git
git clone https://code.bij1.org/bij1/crm-bij1rules.git
git clone https://code.bij1.org/bij1/crm-bij1algemeen.git
cv ext:download de.systopia.identitytracker@https://github.com/systopia/de.systopia.identitytracker/releases/download/1.3/de.systopia.identitytracker-1.3.zip
cv ext:download org.project60.banking@https://github.com/Project60/org.project60.banking/releases/download/0.7/org.project60.banking-0.7.zip
cv ext:download civirules@https://lab.civicrm.org/extensions/civirules/-/archive/2.42/civirules-2.42.zip
cv ext:download civirules@https://lab.civicrm.org/extensions/civirules/-/archive/2.43/civirules-2.43.zip
cv ext:download assignee@https://lab.civicrm.org/extensions/assignee/-/archive/1.3/assignee-1.3.zip
cv ext:download apikey@https://lab.civicrm.org/extensions/apikey/-/archive/v1.3.5/apikey-v1.3.5.zip
cv ext:download dataprocessor@https://lab.civicrm.org/extensions/dataprocessor/-/archive/1.48/dataprocessor-1.48.zip
cv ext:download dataprocessor@https://lab.civicrm.org/extensions/dataprocessor/-/archive/1.57/dataprocessor-1.57.zip
cv ext:download de.systopia.xcm@https://github.com/systopia/de.systopia.xcm/releases/download/1.8/de.systopia.xcm-1.8.zip
cv ext:download group2summary@https://github.com/TechToThePeople/group2summary/archive/v1.5.zip
cv ext:download emailapi@https://lab.civicrm.org/extensions/emailapi/-/archive/2.8/emailapi-2.8.zip
cv ext:download emailapi@https://lab.civicrm.org/extensions/emailapi/-/archive/2.9/emailapi-2.9.zip
cv ext:download org.civicrm.contactlayout
cv ext:download org.civicrm.recentmenu
cv ext:download org.project60.bic@https://github.com/Project60/org.project60.bic/releases/download/1.2/org.project60.bic-1.2.zip
cv ext:download org.project60.sepa
cv ext:download org.wikimedia.relationshipblock
cv ext:download uk.co.vedaconsulting.mosaico
cv ext:upgrade-db
git clone https://lab.civicrm.org/partners/civicoop/bij1/bij1algemeen.git
# cv ext:download uk.co.vedaconsulting.mosaico
cv ext:download action-provider@https://lab.civicrm.org/extensions/action-provider/-/archive/1.103/action-1.103.zip
cv ext:download form-processor@https://lab.civicrm.org/extensions/form-processor/-/archive/1.48/form-1.48.zip
cv ext:enable bij1algemeen
git clone https://lab.civicrm.org/partners/civicoop/bij1/bij1migratie.git
cv ext:enable bij1migratie
git clone https://lab.civicrm.org/partners/civicoop/bij1/bij1rules.git
cv ext:enable bij1rules
cv ext:upgrade-db
cd /var/www/civi