diff --git a/compose/prod/django/start b/compose/prod/django/start new file mode 100644 index 0000000..ce1e1a9 --- /dev/null +++ b/compose/prod/django/start @@ -0,0 +1,27 @@ +#!/bin/bash + +set -o errexit +set -o pipefail +set -o nounset + +DB_HOST="${POSTGRES_HOST}" +DB_PORT="${POSTGRES_PORT}" + +echo "Waiting for database at ${DB_HOST}:${DB_PORT}..." +wait-for-it ${DB_HOST}:${DB_PORT} --timeout=30 --strict || { + echo "Timed out waiting for database" >&2 + exit 1 +} + +echo "Database is available, continuing startup..." + +python manage.py makemigrations +python manage.py migrate --noinput + +for fixture in /app/data/*.json; do + echo "Loading fixture: $fixture" + python manage.py loaddata "$fixture" +done + +python manage.py collectstatic --noinput +exec daphne -b 0.0.0.0 -p 8000 config.asgi:application