Waiting for app to become healthy / timeout reached waiting for healthchecks to pass for machine

Hey all,

Just deploying my first app at fly.io, got to the deploy part by running fly deploy and received this error at the end:

Error: timeout reached waiting for healthchecks to pass for machine 1781991ae04368 failed to get VM 1781991ae04368: Get "https://api.machines.dev/v1/apps/easypass/machines/1781991ae04368": net/http: request canceled

I also ran some logs and got some of the info messages like these:

  1. Health check on port 3000 has failed. Your app is not responding properly.
  2. machine has reached its max restart count
  3. Error: connect ECONNREFUSED
  4. machine did not have a restart policy, defaulting to restart

Not sure what all of these mean? I am using remix framework (have frontend and some DB fetching with pg and email sends with sendgrid)

Can you help me deploy the app?


Try removing the checks, and health checks section (comment them out).

i have seen issues sometimes where if they are not configured right, it can take a long time.

A smoke test is always done, so there is some validation the app is deployed ok.

If your still having issues with those commented out, can you share your fly.toml

Hey Zane,

Thanks for your help.
I’ve tried removing the checks part from toml file but got:

 ⠧ Checking that 1781991ae04368 [app] is up and running
Error: smoke checks for 1781991ae04368 failed: the app appears to be crashing

This is the full fly.toml without checks removed:

# fly.toml app configuration file generated for easypass on 2023-10-01T19:43:58+02:00
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.

app = "easypass"
primary_region = "cdg"


  internal_port = 3000
  force_https = true
  auto_stop_machines = true
  auto_start_machines = true
  min_machines_running = 0
  processes = ["app"]

    port = 3000
    type = "http"
    interval = "10s"
    timeout = "2s"
    grace_period = "5s"
    method = "GET"
    path = "/healthcheck"
    protocol = "http"
    tls_skip_verify = false

Try resizing the app, more CPU or/and Memory.

it’s possible that the startup is crashing because the available resource ran out. Try scaling it up, to eliminate that issue.

Once it’s running, you can use the metrics/grafana to see the resources its consuming and right size it.

Just a guess.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.