From 9b062c2a19a37f783c19133a90b0b0bbda9cab62 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 7 Apr 2021 16:54:16 +0000 Subject: [PATCH] database backups --- Makefile | 40 ++++++++++++++++++++++++++++++------- backups/replace_database.sh | 3 +++ 2 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 backups/replace_database.sh diff --git a/Makefile b/Makefile index e41bb87..e0d1ca6 100644 --- a/Makefile +++ b/Makefile @@ -10,9 +10,7 @@ BUILD_ROOT_PATH=$(shell pwd) #all: tidy gen test build docker #.PHONY: all -all: moodle nextcloud - cp main.conf .env - echo "BUILD_ROOT_PATH=$(BUILD_ROOT_PATH)" >> .env +all: environment moodle nextcloud cp .env docker/postgresql cp .env docker/mariadb cp .env docker/moodle @@ -30,9 +28,6 @@ all: moodle nextcloud environment: cp main.conf .env echo "BUILD_ROOT_PATH=$(BUILD_ROOT_PATH)" >> .env - cp .env docker/postgresql -# cp .env docker/ -# . ./.env moodle: environment cp .env docker/moodle @@ -79,4 +74,35 @@ reset-nextcloud: environment CREATE USER $(NEXTCLOUD_POSTGRES_USER) SUPERUSER PASSWORD '$(NEXTCLOUD_POSTGRES_PASSWORD)'; \ CREATE DATABASE nextcloud; \ GRANT ALL PRIVILEGES ON DATABASE nextcloud TO $(NEXTCLOUD_POSTGRES_USER);" - docker-compose up -d isard-apps-nextcloud-nginx isard-apps-nextcloud-app \ No newline at end of file + docker-compose up -d isard-apps-nextcloud-nginx isard-apps-nextcloud-app + +backup-databases: + echo "Todo" + +restore-databases: + echo "Todo" + +snapshot-databases: + echo "Todo" + +replicate: environment + cp .env docker/postgresql + cp .env docker/mariadb + docker-compose -f docker/postgresql/postgresql.yml \ + -f docker/mariadb/mariadb.yml \ + -f docker/network.yml \ + config > databases.yml + echo "Starting system databases..." + docker-compose -f databases.yml up -d --no-deps + + echo "Substitute DOMAIN with: $DOMAIN" + grep -rl digitaldemocratic.net . | xargs sed -i 's/digitaldemocratic.net/$DOMAIN/g' + + echo "Generating new private/public certificates for SAML..." + openssl req -nodes -new -x509 -keyout certs/private.key -out certs/public.cert + + echo "Substitute CERTIFICATES with new ones' + grep -rl oldtext . | xargs sed -i 's/oldtext/newtext/g' + + echo "Restoring new SQL info in databases..." + docker exec -i isard-apps-postgresql psql -U admin --set ON_ERROR_STOP=on -f backups/sample.sql diff --git a/backups/replace_database.sh b/backups/replace_database.sh new file mode 100644 index 0000000..6625408 --- /dev/null +++ b/backups/replace_database.sh @@ -0,0 +1,3 @@ +#docker exec -t isard-apps-postgresql pg_dumpall -c -U admin > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql +docker exec -t isard-apps-postgresql pg_dumpall -c -U admin | gzip > ./dump_$(date +"%Y-%m-%d_%H_%M_%S").gz +gunzip < $1 | docker exec -i isard-apps-postgresql psql -U admin -d $2