diff --git a/prestart.sh b/prestart.sh index 1cca4bb..1e993fa 100644 --- a/prestart.sh +++ b/prestart.sh @@ -100,6 +100,9 @@ asyncio.run(set_password()) " fi +echo "[prestart] Seeding admin user if not exists..." +python3 /app/scripts/seed_admin.py || echo "[prestart] WARNING: Admin seed failed (may already exist)" + echo "[prestart] Starting uvicorn on 0.0.0.0:8000 (workers=1)..." exec uvicorn app.main:app \ --host 0.0.0.0 \ diff --git a/scripts/seed_admin.py b/scripts/seed_admin.py index c4220c1..20a8654 100644 --- a/scripts/seed_admin.py +++ b/scripts/seed_admin.py @@ -69,12 +69,12 @@ async def seed(): print(f"Admin role exists: {role.id}") # Check if admin user exists - result = await db.execute(select(User).where(User.email == "admin@media-on.de")) + result = await db.execute(select(User).where(User.email == os.environ.get("ADMIN_EMAIL", "admin@media-on.de"))) user = result.scalar_one_or_none() if user is None: user = User( - email="admin@media-on.de", + email=os.environ.get("ADMIN_EMAIL", "admin@media-on.de"), name="Administrator", password_hash=hash_password(os.environ.get("ADMIN_PASSWORD", "Admin123!")), is_active=True,