public-health-ch/Makefile.docker-compose

122 lines
3.2 KiB
Makefile

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 run compress restart
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