roosterwijs/backend/entrypoint.sh
2026-06-09 22:46:23 +02:00

32 lines
931 B
Bash

#!/usr/bin/env bash
# Wordt bij elke containerstart uitgevoerd, vóór gunicorn.
set -e
# Wacht tot PostgreSQL bereikbaar is (alleen als we Postgres gebruiken).
if [ -n "$POSTGRES_DB" ]; then
echo "Wachten op PostgreSQL op ${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}..."
python <<'PY'
import os, time, socket
host = os.environ.get("POSTGRES_HOST", "db")
port = int(os.environ.get("POSTGRES_PORT", "5432"))
for _ in range(60):
try:
with socket.create_connection((host, port), timeout=2):
print("Database is bereikbaar.")
break
except OSError:
time.sleep(1)
else:
raise SystemExit("Database niet bereikbaar na 60s.")
PY
fi
# Migraties uitvoeren en statische bestanden verzamelen.
echo "Migraties uitvoeren..."
python manage.py migrate --noinput
echo "Statische bestanden verzamelen..."
python manage.py collectstatic --noinput
# Geef door aan het CMD (gunicorn).
exec "$@"