fix(deploy): respawn supervisor ב-start.sh — הקונטיינר לא ייוותר חצי-חי אחרי reboot #181
Reference in New Issue
Block a user
Delete Branch "harden-entrypoint"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
הבעיה (production outage 2026-06-10)
אחרי עדכון הקרנל (
6.17.0-1016-oracle) + reboot, הקונטיינר של legal-ai עלהrunning:unhealthy: ה-Next.js (:3000) רץ, אבל ה-FastAPI (:8000) לא —ECONNREFUSED 127.0.0.1:8000על/api/health→ Traefik החזיר503 no available server. כתוצאה גם ה-plugin של Paperldip נכשל כל 15 דק' (Legal API 503). תוקן זמנית ב-restart ידני דרך Coolify.שורש:
start.shהריץ את uvicorn ברקע, בדק פעם אחת אחרי 2 שניות, ואם מת — רק הדפיס שגיאה והמשיך. Next.js ב-foreground שמר את הקונטיינר "חי" → Docker/Coolify לא הפעילו restart, וה-backend נשאר מת. ב-boot, uvicorn לא הספיק להגיע ל-Postgres (:5433) שעוד עלה → נפל ונשאר נפול.התיקון
start.shהוא כעת סופרוייזר אמיתי:trapעל TERM/INT → shutdown נקי. (PID 1shמתעלם מ-SIGTERM בלי trap → גם redeploy נעשה מהיר יותר.)exit 1כדי ש-Docker יפעיל restart מלא.נבדק:
sh -nעובר; smoke-test מאמת respawn + backoff (1→2→4→8) + יציאה נקייה על SIGTERM.Invariants
🤖 Generated with Claude Code