36 lines
1.0 KiB
Bash
Executable File
36 lines
1.0 KiB
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."
|
|
|
|
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
|
|
if [ "${AUTO_BUILD_TAILWIND:-1}" = "1" ] && [ -f /app/package.json ]; then
|
|
if [ -x /app/node_modules/.bin/tailwindcss ]; then
|
|
echo "Building Tailwind assets..."
|
|
npm run build
|
|
else
|
|
echo "Tailwind dependencies missing; skipping AUTO_BUILD_TAILWIND."
|
|
fi
|
|
fi
|
|
|
|
echo "Collecting static files..."
|
|
python manage.py collectstatic --noinput
|
|
fi
|
|
|
|
exec "$@"
|