diff --git a/Makefile b/Makefile index 0cb3d5e..0e12702 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ DOCKER ?= docker COMPOSE ?= docker compose -PUBLIC_URL ?= https://askar.abbiamoundominio.org +PUBLIC_URL ?= https://askar-association-ps.org TMPDB_CONN = --host=127.0.0.1 --port=3307 --user=root --password=toor --ssl-verify-server-cert=FALSE DUMP_CONN = -h 127.0.0.1 -P 3306 --user root --password=toor --ssl-verify-server-cert=FALSE VERSIONED_DUMP = ./assets/db/dump.sql @@ -66,18 +66,18 @@ tmpdb-do-dump: prepare-db: tmpdb-start tmpdb-do-dump tmpdb-stop -prepare-%: - tar czvf ./out/$*.tar.gz -C ./assets/wordpress/wp-content/$* +_prepare-%: + tar -C ./assets/wordpress/wp-content/ ./$* -czvf ./out/$*.tar.gz -prepare-data: prepare-uploads prepare-plugins +prepare-data: _prepare-uploads _prepare-plugins prepare-export: prepare-db prepare-data push-db: - cat $(PROD_DUMP) | ssh $(REMOTE_DB_HOST) mysql --user $(REMOTE_DB_USER) --password $$(age -d ./assets/admin.pass.age) $(REMOTE_DB_DATABASE) + cat $(PROD_DUMP) | ssh $(REMOTE_DB_HOST) mysql --user=$(REMOTE_DB_USER) --password=\'$$(age -d ./assets/db.prod.pass.age)\' $(REMOTE_DB_DATABASE) _push-%: - cat ./out/$*.tar.gz | ssh $(REMOTE_WEB_HOST) tar zxvf -C $(REMOTE_WEB_ROOT) - + cat ./out/$*.tar.gz | ssh $(REMOTE_WEB_HOST) tar -C $(REMOTE_WEB_ROOT) -zxvf - push-website: _push-uploads _push-plugins diff --git a/README.md b/README.md index 4dc03b5..63b2751 100644 --- a/README.md +++ b/README.md @@ -34,3 +34,60 @@ The website will be a Wordpress with some customization. It will have the follow ## Dev We use GNU make + docker + +Set the environment variables as appropriate + +``` +export REMOTE_WEB_HOST=root@amelia.abbiamoundominio.org +export REMOTE_WEB_ROOT=/var/www/askar +export REMOTE_DB_HOST=root@comandantaramona.abbiamoundominio.org +export REMOTE_DB_USER=wordpress_askar +export REMOTE_DB_DATABASE=wordpress_askar +export PUBLIC_URL=https://askar-association-ps.org +``` + +### Pull content from production site + +Pull the content (uploads+plugins) + +``` +make pull-website +``` + +Dump the remote db and pull it + +``` +make pull-db +``` + +### Push to production + +Prepare the local content to be pushed (note that the following requires the dev site to be running with `make dev-run`): + +``` +make prepare +``` + +Stop the remote website + +``` +ssh ${REMOTE_WEB_HOST} docker stop wordpress_askar +``` + +Push the database + +``` +make push-db +``` + +Push the website content + +``` +make push-website +``` + +Restart the website + +``` +ssh ${REMOTE_WEB_HOST} ./ wordpress_askar.sh +``` diff --git a/assets/db.prod.pass.age b/assets/db.prod.pass.age new file mode 100644 index 0000000..6b742ac --- /dev/null +++ b/assets/db.prod.pass.age @@ -0,0 +1,6 @@ +age-encryption.org/v1 +-> scrypt 6QrVQqHCz74QP99Wdncdlg 18 +6pKNpuQEpUOPQRo/EBndnQS6SiX5Vk5SarrCQyQV76I +--- 3HNXyrypprIaex+N5i6H9aqV/r38nYg2jYj+aG4xShA +ޖhr- +$jY "MR7ƵK