siftlode/backend/entrypoint.sh

14 lines
664 B
Bash
Raw Normal View History

#!/bin/sh
set -e
echo "Applying database migrations..."
alembic upgrade head
echo "Starting Siftlode API..."
# --timeout-keep-alive 75: keep idle upstream connections alive longer than the reverse
# proxy's idle-reuse window. uvicorn's default (5s) is shorter than Caddy's pooled-keepalive
# timeout, so Caddy would reuse a connection uvicorn had just closed -> broken pipe / reset
# on the next request -> 502. Non-idempotent POSTs (the player's progress/state writes,
# fired every 5s) can't be auto-retried by the proxy, so those 502s reached the user.
exec uvicorn app.main:app --host 0.0.0.0 --port 8000 --log-config log_config.json --timeout-keep-alive 75