GuidesTroubleshooting
The health check times out
Ferry cannot connect to the port of the new instance. The app listens on the wrong address or port.
What you see
==> Deploy failed: health check timed out after 120s: nothing accepts connections on container port 10000 (published as 127.0.0.1:…) yet: does the app listen on $PORT (10000) on 0.0.0.0? An app listening on 127.0.0.1 (localhost) inside its container can't be reachedWhy it occurs
The app listens on 127.0.0.1 in its container. Ferry cannot reach it.
1 / 3
The health check connects to the port of the new instance. Nothing answers on that port.
The deploy gets the status deploy_failed. The previous deploy continues to answer.
How to repair it
Make the app listen on 0.0.0.0 and on the port in $PORT. As an alternative, give the port of your app to Ferry:
ferry update NAME --port NSee The port of your app and Environment.
Give a longer timeout to the full server: ferryd --health-check-timeout.
If you set PORT to a value that is not the port of the service, the message is different:
the app gets PORT=… from its environment but Ferry expects it to listen on port …