#!/bin/sh # Wartet auf die DB, spielt Migrationen ein, optional Seed, startet dann das CMD. set -eu echo "[entrypoint] warte auf Datenbank ..." python - <<'PY' import os, time, sys import psycopg url = os.environ.get("OAMC_DATABASE_URL", "") dsn = url.replace("postgresql+psycopg://", "postgresql://", 1) for i in range(60): try: psycopg.connect(dsn, connect_timeout=3).close() print("[entrypoint] DB erreichbar") sys.exit(0) except Exception as e: # noqa print(f"[entrypoint] ({i+1}/60) noch nicht bereit: {e}") time.sleep(2) sys.exit("[entrypoint] DB nicht erreichbar") PY echo "[entrypoint] alembic upgrade head" alembic upgrade head if [ "${OAMC_SEED_ON_START:-0}" = "1" ]; then echo "[entrypoint] Seed Saison 2026 (idempotent)" oamc-turnier seed || echo "[entrypoint] Seed uebersprungen/fehlgeschlagen" fi exec "$@"