fix: start.sh with import pre-check + single worker for Railway

Adds import verification before uvicorn starts — if imports fail,
container exits immediately with clear error instead of timing out
on healthcheck. Single worker to reduce memory usage on Railway.

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
This commit is contained in:
Claude 2026-04-25 20:40:34 +00:00
parent ce1a2dcbc3
commit 8ddf5bf40d
No known key found for this signature in database

View File

@ -1,4 +1,7 @@
#!/bin/sh
# start.sh — Railway-compatible start script
# Uses $PORT from Railway (default 8000 if not set)
exec uvicorn app.main:app --host 0.0.0.0 --port "${PORT:-8000}" --workers 2
echo "[dealix] Starting on port ${PORT:-8000}..."
echo "[dealix] Python: $(python3 --version)"
echo "[dealix] Testing imports..."
python3 -c "from app.main import app; print(f'[dealix] Routes: {len(app.routes)}'); print('[dealix] Import OK')" 2>&1 || { echo "[dealix] IMPORT FAILED"; exit 1; }
echo "[dealix] Launching uvicorn..."
exec uvicorn app.main:app --host 0.0.0.0 --port "${PORT:-8000}" --workers 1 --timeout-keep-alive 30