From 65fbba5df76369f3c1b99952594fda4f08b45edc Mon Sep 17 00:00:00 2001 From: Matteo Giustini Date: Wed, 29 Apr 2026 15:08:04 +0200 Subject: [PATCH] script di avvio backend+DB --- backend/start.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 backend/start.sh diff --git a/backend/start.sh b/backend/start.sh new file mode 100644 index 0000000..da1be54 --- /dev/null +++ b/backend/start.sh @@ -0,0 +1,37 @@ +#!/bin/bash +set -e +export PYTHONDONTWRITEBYTECODE=1 +export PYTHONPYCACHEPREFIX=/dev/null + +echo "==> Attendo il database..." +until python -c " +import asyncio +import asyncpg +import os + +async def check(): + url = os.environ.get('DATABASE_URL', '').replace('postgresql+asyncpg://', '') + parts = url.split('@') + creds = parts[0].split(':') + host_db = parts[1].split('/') + await asyncpg.connect( + user=creds[0], password=creds[1], + host=host_db[0].split(':')[0], + port=int(host_db[0].split(':')[1]) if ':' in host_db[0] else 5432, + database=host_db[1] + ) + +asyncio.run(check()) +" 2>/dev/null; do + echo " DB non pronto, attendo..." + sleep 2 +done + +echo "==> Eseguo migrazioni Alembic..." +alembic upgrade head + +echo "==> Eseguo seed utenti demo..." +python -m app.services.seed 2>/dev/null || true + +echo "==> Avvio server..." +exec uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload