#!/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 "${SNAPSHOT_INCOMING_DIR:-/app/snapshots/incoming}" \ "${SNAPSHOT_ARCHIVE_DIR:-/app/snapshots/archive}" \ "${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 "$@"