2026-06-11 01:01:37 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
echo "Applying database migrations..."
|
|
|
|
|
alembic upgrade head
|
|
|
|
|
|
chore: rebrand Subfeed -> Siftlode
Rename all user-facing references (UI wordmark Sift+lode, titles, app name,
legal pages, onboarding wizard, emails, README/docs) and infra paths
(/srv/subfeed -> /srv/siftlode, image tag, deploy script, backup filenames).
Internal identifiers kept on purpose: Postgres user/db "subfeed", logger
namespace, localStorage keys, and the subfeed_pgdata volume (renaming would
orphan the migrated production data).
2026-06-14 04:40:22 +02:00
|
|
|
echo "Starting Siftlode API..."
|
2026-06-18 15:13:01 +02:00
|
|
|
# --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
|