fix(indeedhub): frontend health = tcp:7777 not http GET / (stops reconcile churn)
On the loaded .198 the frontend churned (created → "unhealthy" → reconciler recreates → loop). The http health check fetched / through nginx (SPA + sub_filter) and false-failed under node load; the reconciler then treated the frontend as wedged and recreated it. nginx binds 7777 at startup, so a tcp liveness check passes immediately and stays green under load while still catching a real "nginx not listening" failure. Generous retries/start_period. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e4d3f94913
commit
e2a012d086
@ -67,14 +67,18 @@ app:
|
||||
- exec: ["sh", "-c", "grep -q nostr-provider /etc/nginx/conf.d/default.conf || sed -i 's#</head>#<script src=\"/nostr-provider.js\"></script></head>#' /etc/nginx/conf.d/default.conf"]
|
||||
- exec: ["nginx", "-s", "reload"]
|
||||
|
||||
# TCP liveness on the nginx port, NOT an http GET of /. nginx binds 7777 at
|
||||
# startup (before workers), so this passes immediately and stays green under
|
||||
# load. An http check of / runs the SPA + sub_filter and false-fails when the
|
||||
# node is busy → the reconciler then treats the frontend as wedged and
|
||||
# recreates it in a loop (observed churning the frontend on the loaded .198).
|
||||
health_check:
|
||||
type: http
|
||||
endpoint: http://localhost:7777
|
||||
path: /
|
||||
type: tcp
|
||||
endpoint: localhost:7777
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
|
||||
interfaces:
|
||||
main:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user