Create a new Makefile

As we are moving away from docker, I propose to save the current
`Makefile` as `Makefile.docker-compose` and create a new makefile
`Makefile.native` and soft link it to Makefile

`Makefile.native` is identical to `Makefile.docker-compose`
This commit is contained in:
PCoder 2021-06-20 16:47:06 +05:30
parent f750be22a9
commit 7a606b9b76
3 changed files with 201 additions and 121 deletions

121
Makefile
View file

@ -1,121 +0,0 @@
export COMPOSE_FILE=./docker-compose.yml
export COMPOSE_PROJECT_NAME=publichealth
export EMAIL=change_me@localhost.localhost
default: build
local-loaddata:
sed -i 's/\"is_default_site\": true/\"is_default_site\": false/g' publichealth.home.json
python manage.py loaddata publichealth.home.json
upgrade:
docker-compose pull
build-cached:
docker-compose build
build:
docker-compose build --no-cache
run-here:
docker-compose stop web # for restart cases, when already running
docker-compose up
run:
docker-compose up -d # detach by default
stop:
docker-compose stop web
restart: stop run
migrate:
docker-compose exec web ./manage.py migrate
migrations:
docker-compose exec web ./manage.py makemigrations --merge
apply-migrations: migrations migrate
setup:
docker-compose exec web ./manage.py migrate
docker-compose exec web ./manage.py createsuperuser --username admin --email $(EMAIL) --noinput
rebuild:
docker-compose pull
docker-compose build web
docker-compose stop web
docker-compose kill web
compress:
docker-compose exec web ./manage.py collectstatic --noinput -i media
docker-compose exec web ./manage.py compress
release: rebuild compress run
reindex:
docker-compose exec web ./manage.py update_index
clear_index:
docker-compose exec elasticsearch curl -XDELETE localhost:9200/_all
django-exec-bash:
# execute bash in the currently running container
docker-compose exec web bash
django-run-bash:
# run new django container, with bash, and remove it after usage
docker-compose run --rm --no-deps web bash
django-shell:
docker-compose exec web ./manage.py shell
logs:
docker-compose exec web tail /var/log/wagtail/publichealth.log /var/log/wagtail/wagtail.log /var/log/wagtail/error.log
docker-logs:
docker-compose logs -f --tail=500
backup-data:
docker-compose exec web ./manage.py dumpdata --natural-foreign -e auth.permission -e contenttypes -e wagtailcore.GroupCollectionPermission -e wagtailcore.GroupPagePermission -e wagtailimages.rendition -e sessions -e feedler.feedlysettings > ~/publichealth.home.json
zip ~/publichealth.home.json.`date +"%d%m%Y-%H%M"`.zip ~/publichealth.home.json
rm ~/publichealth.home.json
backup-images:
echo "Backing up images ..."
sudo chown -R ansible media
zip -ruq ~/media.zip media
backup: backup-data backup-images
loaddata:
docker-compose exec web ./manage.py loaddata publichealth.home.json
restore: django-loaddata restart
psql:
docker-compose exec postgres psql -U postgres -d postgres
pg-run-detached:
# start pg service
docker-compose up -d postgres
pg-exec:
docker-compose exec postgres bash
pg-dump:
docker-compose exec postgres bash -c 'pg_dump -U postgres -d postgres -f ./latest.sql'
pg-backup:
docker-compose exec postgres bash -c 'pg_dump -U postgres -d postgres' > ~/pg-backup.sql
zip ~/pg-backup.sql.`date +"%d%m%Y-%H%M"`.zip ~/pg-backup.sql
rm ~/pg-backup.sql
pg-restore:
docker-compose exec postgres bash -c 'psql -U postgres -d postgres -f ./latest.sql'
pg-surefire-drop-restore-db:
# drop existing database, recreate it, and then restore its content from backup.
docker-compose exec postgres bash -c 'dropdb -h localhost -U postgres postgres'
docker-compose exec postgres bash -c 'createdb -h localhost -U postgres postgres'
make pg-restore

1
Makefile Symbolic link
View file

@ -0,0 +1 @@
Makefile.native

121
Makefile.docker-compose Normal file
View file

@ -0,0 +1,121 @@
export COMPOSE_FILE=./docker-compose.yml
export COMPOSE_PROJECT_NAME=publichealth
export EMAIL=change_me@localhost.localhost
default: build
local-loaddata:
sed -i 's/\"is_default_site\": true/\"is_default_site\": false/g' publichealth.home.json
python manage.py loaddata publichealth.home.json
upgrade:
docker-compose pull
build-cached:
docker-compose build
build:
docker-compose build --no-cache
run-here:
docker-compose stop web # for restart cases, when already running
docker-compose up
run:
docker-compose up -d # detach by default
stop:
docker-compose stop web
restart: stop run
migrate:
docker-compose exec web ./manage.py migrate
migrations:
docker-compose exec web ./manage.py makemigrations --merge
apply-migrations: migrations migrate
setup:
docker-compose exec web ./manage.py migrate
docker-compose exec web ./manage.py createsuperuser --username admin --email $(EMAIL) --noinput
rebuild:
docker-compose pull
docker-compose build web
docker-compose stop web
docker-compose kill web
compress:
docker-compose exec web ./manage.py collectstatic --noinput -i media
docker-compose exec web ./manage.py compress
release: rebuild compress run
reindex:
docker-compose exec web ./manage.py update_index
clear_index:
docker-compose exec elasticsearch curl -XDELETE localhost:9200/_all
django-exec-bash:
# execute bash in the currently running container
docker-compose exec web bash
django-run-bash:
# run new django container, with bash, and remove it after usage
docker-compose run --rm --no-deps web bash
django-shell:
docker-compose exec web ./manage.py shell
logs:
docker-compose exec web tail /var/log/wagtail/publichealth.log /var/log/wagtail/wagtail.log /var/log/wagtail/error.log
docker-logs:
docker-compose logs -f --tail=500
backup-data:
docker-compose exec web ./manage.py dumpdata --natural-foreign -e auth.permission -e contenttypes -e wagtailcore.GroupCollectionPermission -e wagtailcore.GroupPagePermission -e wagtailimages.rendition -e sessions -e feedler.feedlysettings > ~/publichealth.home.json
zip ~/publichealth.home.json.`date +"%d%m%Y-%H%M"`.zip ~/publichealth.home.json
rm ~/publichealth.home.json
backup-images:
echo "Backing up images ..."
sudo chown -R ansible media
zip -ruq ~/media.zip media
backup: backup-data backup-images
loaddata:
docker-compose exec web ./manage.py loaddata publichealth.home.json
restore: django-loaddata restart
psql:
docker-compose exec postgres psql -U postgres -d postgres
pg-run-detached:
# start pg service
docker-compose up -d postgres
pg-exec:
docker-compose exec postgres bash
pg-dump:
docker-compose exec postgres bash -c 'pg_dump -U postgres -d postgres -f ./latest.sql'
pg-backup:
docker-compose exec postgres bash -c 'pg_dump -U postgres -d postgres' > ~/pg-backup.sql
zip ~/pg-backup.sql.`date +"%d%m%Y-%H%M"`.zip ~/pg-backup.sql
rm ~/pg-backup.sql
pg-restore:
docker-compose exec postgres bash -c 'psql -U postgres -d postgres -f ./latest.sql'
pg-surefire-drop-restore-db:
# drop existing database, recreate it, and then restore its content from backup.
docker-compose exec postgres bash -c 'dropdb -h localhost -U postgres postgres'
docker-compose exec postgres bash -c 'createdb -h localhost -U postgres postgres'
make pg-restore

79
Makefile.native Normal file
View file

@ -0,0 +1,79 @@
export EMAIL=change_me@localhost.localhost
default: release
local-loaddata:
sed -i 's/\"is_default_site\": true/\"is_default_site\": false/g' publichealth.home.json
python manage.py loaddata publichealth.home.json
migrate:
. /home/app/pyvenv/bin/activate && ./manage.py migrate
migrations:
. /home/app/pyvenv/bin/activate && ./manage.py makemigrations --merge
apply-migrations: migrations migrate
setup:
. /home/app/pyvenv/bin/activate && ./manage.py migrate
. /home/app/pyvenv/bin/activate && ./manage.py createsuperuser --username admin --email $(EMAIL) --noinput
rebuild:
rm -rf node_modules
yarn install
cp -rf node_modules/@bower_components/* /home/app/app/publichealth/static/libs
restart-uwsgi:
sudo /etc/init.d/uwsgi restart
compress:
. /home/app/pyvenv/bin/activate && ./manage.py collectstatic --noinput -i media
. /home/app/pyvenv/bin/activate && ./manage.py compress
release: rebuild compress restart-uwsgi
reindex:
. /home/app/pyvenv/bin/activate && ./manage.py update_index
clear_index:
elasticsearch curl -XDELETE localhost:9200/_all
django-shell:
. /home/app/pyvenv/bin/activate && ./manage.py shell
logs:
tail /var/log/wagtail/publichealth.log /var/log/wagtail/wagtail.log /var/log/wagtail/error.log
backup-data:
. /home/app/pyvenv/bin/activate && ./manage.py dumpdata --natural-foreign -e auth.permission -e contenttypes -e wagtailcore.GroupCollectionPermission -e wagtailcore.GroupPagePermission -e wagtailimages.rendition -e sessions -e feedler.feedlysettings > ~/publichealth.home.json
zip ~/publichealth.home.json.`date +"%d%m%Y-%H%M"`.zip ~/publichealth.home.json
rm ~/publichealth.home.json
backup-images:
echo "Backing up images ..."
sudo chown -R app:app media
zip -ruq ~/media.zip media
backup: backup-data backup-images
loaddata:
. /home/app/pyvenv/bin/activate && ./manage.py loaddata publichealth.home.json
restore: django-loaddata restart
pg-dump:
pg_dump -U app -d publichealth -f ./latest.sql
pg-backup:
pg_dump -U app -d publichealth > ~/pg-backup.sql
zip ~/pg-backup.sql.`date +"%d%m%Y-%H%M"`.zip ~/pg-backup.sql
rm ~/pg-backup.sql
pg-restore:
psql -U app -d publichealth -f ./latest.sql
pg-surefire-drop-restore-db:
# drop existing database, recreate it, and then restore its content from backup.
dropdb -h localhost -U app publichealth
createdb -h localhost -U app publichealth
make pg-restore