Inspect the app
Run locally:port, start, and health path together. For HTTP services, bind the process to 0.0.0.0 and make the configured path return a successful response when the app is ready.
Common failures
Connect through SSH to test the process locally when needed. Do not make an app public just to fix an internal readiness failure.