Compare commits

...

2 Commits

Author SHA1 Message Date
Philipp Rothmann 637bf7c768 add backupbot labels 2023-03-23 11:41:10 +01:00
Philipp Rothmann 56596b9e3f fix stuff 2023-03-23 11:40:58 +01:00
2 changed files with 48 additions and 33 deletions

View File

@ -11,7 +11,7 @@ services:
- CIVICRM_DB_NAME=civicrm
- CIVICRM_DB_USER=civicrm
- CIVICRM_DB_PASS_FILE=/run/secrets/db_password
- CIVICRM_DB_HOST=db-civicrm
- CIVICRM_DB_HOST=civicrm-db
- CIVICRM_DB_PORT=3306
- WORDPRESS_DB_NAME=wordpress
- WORDPRESS_DB_USER=wordpress
@ -29,9 +29,7 @@ services:
- civicrm_sign_key
- smtp_password
volumes:
- uploads:/var/www/html/wp-content/uploads
# - ./.bash_history:/home/civicrm/.bash_history
# - ./state:/state
- data:/var/www/html/wp-content/uploads
networks:
- default
- proxy
@ -58,6 +56,8 @@ services:
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
- "coop-cloud.${STACK_NAME}.version="
- "backupbot.backup=true"
- "backupbot.backup.path=/var/www/html/wp-content/uploads"
healthcheck:
test: ["CMD", "cv", "api", "system.get"]
interval: 30s
@ -65,7 +65,6 @@ services:
retries: 10
start_period: 10s
db:
image: "mariadb:10.8"
volumes:
@ -78,25 +77,28 @@ services:
secrets:
- db_password
- db_root_password
# deploy:
# labels:
# backupbot.backup: "true"
# backupbot.backup.path: "/tmp/dump.sql.gz"
# backupbot.backup.pre-hook: "sh -c 'mysqldump --single-transaction -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress | gzip > /tmp/dump.sql.gz'"
# backupbot.backup.post-hook: "rm -f /tmp/dump.sql.gz"
# backupbot.restore: "true"
# backupbot.restore.post-hook: "sh -c 'mysql -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress < /tmp/dbdump.sql && rm -f /tmp/dbdump.sql'"
healthcheck:
test: ["CMD-SHELL", 'mysqladmin -p"$$(cat /run/secrets/db_root_password)" ping']
interval: 30s
timeout: 10s
retries: 10
start_period: 1m
deploy:
restart_policy:
condition: on-failure
labels:
backupbot.backup: "true"
backupbot.backup.path: "/tmp/dump.sql"
backupbot.backup.pre-hook: "sh -c 'mysqldump --single-transaction -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress > /tmp/dump.sql'"
backupbot.backup.post-hook: "rm -f /tmp/dump.sql"
backupbot.restore: "true"
backupbot.restore.post-hook: "sh -c 'mysql -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress < /tmp/dump.sql && rm -f /tmp/dump.sql'"
db-civicrm:
civicrm-db:
image: "mariadb:10.8"
volumes:
- "db-civicrm:/var/lib/mysql"
- "civicrm-db:/var/lib/mysql"
environment:
- MYSQL_DATABASE=civicrm
- MYSQL_USER=civicrm
@ -111,6 +113,16 @@ services:
timeout: 10s
retries: 10
start_period: 1m
deploy:
restart_policy:
condition: on-failure
labels:
backupbot.backup: "true"
backupbot.backup.path: "/tmp/dump.sql"
backupbot.backup.pre-hook: "sh -c 'mysqldump --single-transaction -u root -p\"$$(cat /run/secrets/db_root_password)\" civicrm > /tmp/dump.sql'"
backupbot.backup.post-hook: "rm -f /tmp/dump.sql"
backupbot.restore: "true"
backupbot.restore.post-hook: "sh -c 'mysql -u root -p\"$$(cat /run/secrets/db_root_password)\" civicrm < /tmp/dump.sql && rm -f /tmp/dump.sql'"
networks:
proxy:
@ -118,8 +130,8 @@ networks:
volumes:
mariadb:
db-civicrm:
uploads:
civicrm-db:
data:
configs:
apache-sites-available-conf:

View File

@ -29,7 +29,7 @@ file_env "CIVICRM_SITE_KEY"
file_env "CIVICRM_CRED_KEYS"
file_env "SMTP_PASSWORD"
until mysql -e '\q' -h db -p"${WORDPRESS_DB_PASS}" && mysql -e '\q' -h db-civicrm -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"
sleep 1
done;
@ -44,37 +44,40 @@ su civicrm -c "wp language core activate de_DE"
if ! [[ -d /var/www/html/wp-content/plugins/civicrm/civicrm/l10n ]]; then
echo "=== Running Civicrm Docker Install"
echo "=== Moving Civicrm L10n"
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
rm -rf /var/www/html/wp-content/uploads/civicrm/civicrm.settings.php
su civicrm -c "wp plugin activate civicrm"
fi
# 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"
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"
# 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"
pushd /var/www/html/wp-content/uploads/civicrm
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 civicrm:civicrm ./*
chown -R civicrm:civicrm templates_c
popd
else
echo "=== Running Civicrm Upgrade"
echo "=== well, not yet"
# TODO:
# run dump backup
# check version specifig upgrade steps: https://docs.civicrm.org/sysadmin/en/latest/upgrade/version-specific/
# run upgrade
# cv flush
# 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
fi
echo "=== Running Apache2"
echo "=== Running Webserver"
exec apache2-foreground