31 lines
1022 B
Bash
Executable File
31 lines
1022 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
echo "Waiting for PostgreSQL at ${POSTGRES_HOST}:${POSTGRES_PORT}..."
|
|
until pg_isready -h "${POSTGRES_HOST}" -p "${POSTGRES_PORT}" -U "${POSTGRES_USER}"; do
|
|
sleep 1
|
|
done
|
|
|
|
echo "PostgreSQL is available."
|
|
|
|
mkdir -p "${STATIC_DATASET_INCOMING_DIR:-${SNAPSHOT_INCOMING_DIR:-/app/snapshots/incoming}}" \
|
|
"${STATIC_DATASET_ARCHIVE_DIR:-${SNAPSHOT_ARCHIVE_DIR:-/app/snapshots/archive}}" \
|
|
"${STATIC_DATASET_FAILED_DIR:-${SNAPSHOT_FAILED_DIR:-/app/snapshots/failed}}"
|
|
|
|
if [ "${DJANGO_SETTINGS_MODULE:-}" = "config.settings.production" ] && [ "$1" = "gunicorn" ]; then
|
|
echo "Running Django deployment checks..."
|
|
python manage.py check --deploy --fail-level WARNING
|
|
fi
|
|
|
|
if [ "${AUTO_APPLY_MIGRATIONS:-0}" = "1" ] && [ "$1" = "gunicorn" ]; then
|
|
echo "Applying database migrations..."
|
|
python manage.py migrate --noinput
|
|
fi
|
|
|
|
if [ "${AUTO_COLLECTSTATIC:-0}" = "1" ] && [ "$1" = "gunicorn" ]; then
|
|
echo "Collecting static files..."
|
|
python manage.py collectstatic --noinput
|
|
fi
|
|
|
|
exec "$@"
|