32 lines
931 B
Bash
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 "$@"
|