2020-03-30 18:15:36 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2020-11-20 01:44:46 +00:00
|
|
|
# exit on errors
|
2020-03-30 18:15:36 +00:00
|
|
|
set -e
|
2020-11-20 01:44:46 +00:00
|
|
|
|
2020-11-19 21:50:59 +00:00
|
|
|
# import our ENV variables
|
2020-11-20 01:44:46 +00:00
|
|
|
# catch exits and give a friendly error message
|
|
|
|
function showerr {
|
|
|
|
echo "Failed to load configuration! You may need to update your .env and quote values with special characters in them."
|
|
|
|
}
|
|
|
|
trap showerr EXIT
|
2020-11-19 21:50:59 +00:00
|
|
|
source .env
|
2020-11-20 01:44:46 +00:00
|
|
|
trap - EXIT
|
2020-11-19 21:50:59 +00:00
|
|
|
|
2020-11-20 01:44:46 +00:00
|
|
|
# show commands as they're executed
|
2020-03-30 18:15:36 +00:00
|
|
|
set -x
|
2020-11-19 21:50:59 +00:00
|
|
|
function runweb {
|
|
|
|
docker-compose run --rm web "$@"
|
|
|
|
}
|
2020-03-30 18:15:36 +00:00
|
|
|
|
2020-11-09 01:30:47 +00:00
|
|
|
function execdb {
|
|
|
|
docker-compose exec db $@
|
|
|
|
}
|
|
|
|
|
|
|
|
function execweb {
|
|
|
|
docker-compose exec web "$@"
|
|
|
|
}
|
|
|
|
|
2020-11-08 19:50:20 +00:00
|
|
|
function initdb {
|
2020-11-09 01:30:47 +00:00
|
|
|
execweb python manage.py migrate
|
|
|
|
execweb python manage.py initdb
|
2020-11-08 19:50:20 +00:00
|
|
|
}
|
|
|
|
|
2020-11-28 00:07:53 +00:00
|
|
|
CMD=$1
|
2021-07-05 20:14:35 +00:00
|
|
|
if [ -n "$CMD" ]; then
|
|
|
|
shift
|
|
|
|
fi
|
2020-11-28 01:39:15 +00:00
|
|
|
|
|
|
|
# show commands as they're executed
|
|
|
|
set -x
|
|
|
|
|
2020-11-28 00:07:53 +00:00
|
|
|
case "$CMD" in
|
2020-04-03 16:32:02 +00:00
|
|
|
up)
|
2021-01-14 07:02:56 +00:00
|
|
|
docker-compose up --build "$@"
|
2020-04-03 16:32:02 +00:00
|
|
|
;;
|
2020-11-19 21:50:59 +00:00
|
|
|
run)
|
|
|
|
docker-compose run --rm --service-ports web
|
|
|
|
;;
|
2020-04-03 16:32:02 +00:00
|
|
|
initdb)
|
2020-11-08 19:50:20 +00:00
|
|
|
initdb
|
2020-04-03 16:32:02 +00:00
|
|
|
;;
|
|
|
|
migrate)
|
2021-04-07 16:02:39 +00:00
|
|
|
runweb python manage.py migrate "$@"
|
2020-04-03 16:32:02 +00:00
|
|
|
;;
|
2020-11-08 20:14:57 +00:00
|
|
|
bash)
|
2021-04-07 16:02:39 +00:00
|
|
|
runweb bash
|
2020-04-03 16:32:02 +00:00
|
|
|
;;
|
|
|
|
shell)
|
2021-04-07 16:02:39 +00:00
|
|
|
runweb python manage.py shell
|
2020-04-03 16:32:02 +00:00
|
|
|
;;
|
|
|
|
dbshell)
|
2020-11-19 21:50:59 +00:00
|
|
|
execdb psql -U ${POSTGRES_USER} ${POSTGRES_DB}
|
2020-04-03 16:32:02 +00:00
|
|
|
;;
|
2020-04-20 16:10:44 +00:00
|
|
|
restart_celery)
|
|
|
|
docker-compose restart celery_worker
|
|
|
|
;;
|
2020-09-28 21:47:53 +00:00
|
|
|
collectstatic)
|
2021-04-07 16:02:39 +00:00
|
|
|
runweb python manage.py collectstatic --no-input
|
2020-09-28 21:47:53 +00:00
|
|
|
;;
|
2020-11-08 18:29:33 +00:00
|
|
|
build)
|
|
|
|
docker-compose build
|
2020-09-28 21:47:53 +00:00
|
|
|
;;
|
2020-11-05 19:47:40 +00:00
|
|
|
update)
|
|
|
|
git pull
|
2021-06-29 13:45:10 +00:00
|
|
|
docker-compose build --no-cache
|
2020-11-05 19:47:40 +00:00
|
|
|
docker-compose exec web python manage.py migrate
|
|
|
|
docker-compose exec web python manage.py collectstatic --no-input
|
|
|
|
docker-compose restart
|
|
|
|
;;
|
2021-04-02 18:20:56 +00:00
|
|
|
populate_streams)
|
2021-04-07 16:02:39 +00:00
|
|
|
runweb python manage.py populate_streams
|
2021-03-28 18:46:07 +00:00
|
|
|
;;
|
2021-05-26 11:52:10 +00:00
|
|
|
generate_preview_images)
|
2021-05-28 15:25:20 +00:00
|
|
|
runweb python manage.py generate_preview_images $@
|
2021-05-26 11:52:10 +00:00
|
|
|
;;
|
2021-07-05 20:14:35 +00:00
|
|
|
runweb)
|
|
|
|
runweb "$@"
|
|
|
|
;;
|
|
|
|
rundb)
|
|
|
|
rundb "$@"
|
|
|
|
;;
|
2020-04-03 16:32:02 +00:00
|
|
|
*)
|
2021-07-05 20:14:35 +00:00
|
|
|
set +x # No need to echo echo
|
2021-06-27 15:05:08 +00:00
|
|
|
echo "Unrecognised command. Try: build, up, initdb, migrate, bash, shell, dbshell, restart_celery, update, populate_streams, generate_preview_images"
|
2020-04-03 16:32:02 +00:00
|
|
|
;;
|
2020-03-30 18:15:36 +00:00
|
|
|
esac
|