flyctl deploy not running - failing to determine start command - started just today

Hey,

I have not touched this app in two days and now when I made two simple text updates, after typing flyctl launch I am getting the following error:

2023-04-12T15:02:13Z [info]Starting virtual machine
2023-04-12T15:02:13Z [info]Starting init (commit: e878f33)…
2023-04-12T15:02:13Z [info]Preparing to run: /cnb/lifecycle/launcher as heroku
2023-04-12T15:02:13Z [info]2023/04/12 15:02:13 listening on [fdaa:0:39d1:a7b:eb:52ca:c60e:2]:22 (DNS: [fdaa::3]:53)
2023-04-12T15:02:13Z [info]ERROR: failed to launch: determine start command: when there is no default process a command is required
2023-04-12T15:02:14Z [info]Starting clean up.
2023-04-12T15:02:20Z [info]Starting instance
2023-04-12T15:02:20Z [info]Configuring virtual machine
2023-04-12T15:02:20Z [info]Pulling container image
2023-04-12T15:02:20Z [info]Unpacking image
2023-04-12T15:02:20Z [info]Preparing kernel init
2023-04-12T15:02:20Z [info]Configuring firecracker
2023-04-12T15:02:20Z [info]Starting virtual machine
2023-04-12T15:02:20Z [info]Starting init (commit: e878f33)…
2023-04-12T15:02:20Z [info]Preparing to run: /cnb/lifecycle/launcher as heroku
2023-04-12T15:02:20Z [info]2023/04/12 15:02:20 listening on [fdaa:0:39d1:a7b:eb:52ca:c60e:2]:22 (DNS: [fdaa::3]:53)
2023-04-12T15:02:20Z [info]ERROR: failed to launch: determine start command: when there is no default process a command is required
2023-04-12T15:02:21Z [info]Starting clean up.
2023-04-12T15:02:27Z [info]Starting instance
2023-04-12T15:02:27Z [info]Configuring virtual machine
2023-04-12T15:02:27Z [info]Pulling container image
2023-04-12T15:02:27Z [info]Unpacking image
2023-04-12T15:02:27Z [info]Preparing kernel init
2023-04-12T15:02:27Z [info]Configuring firecracker
2023-04-12T15:02:27Z [info]Starting virtual machine
2023-04-12T15:02:27Z [info]Starting init (commit: e878f33)…
2023-04-12T15:02:27Z [info]Preparing to run: /cnb/lifecycle/launcher as heroku
2023-04-12T15:02:27Z [info]2023/04/12 15:02:27 listening on [fdaa:0:39d1:a7b:eb:52ca:c60e:2]:22 (DNS: [fdaa::3]:53)
2023-04-12T15:02:27Z [info]ERROR: failed to launch: determine start command: when there is no default process a command is required
2023-04-12T15:02:28Z [info]Starting clean up.
→ v21 failed - Failed due to unhealthy allocations - rolling back to job version 20 and deploying as v22

My fly.toml:

app = “my-app-name”
kill_signal = “SIGINT”
kill_timeout = 5
primary_region = “bos”
processes =

[build]
builder = “heroku/buildpacks:20”

[env]
PORT = “8080”

[experimental]
auto_rollback = true

[[services]]
http_checks =
internal_port = 8080
processes = [“app”]
protocol = “tcp”
script_checks =
[services.concurrency]
hard_limit = 25
soft_limit = 20
type = “connections”

[[services.ports]]
force_https = true
handlers = [“http”]
port = 80

[[services.ports]]
handlers = [“tls”, “http”]
port = 443

[[services.tcp_checks]]
grace_period = “1s”
interval = “15s”
restart_limit = 0
timeout = “2s”

I’ve read that I should use a start command, but I am unsure what it would be. Fly would simply use that command after going through my code. I have literally touched nothing since I last updated this app successfully.

This is a simple static PHP website. Can someone help me with the proper run command in the experimental section, if that is what I need to do? I just need the app to update.

TY!

I used the original files I was given and this also will not launch or deploy.

Hmm that’s weird.

I notice you’re using the Heroku buildpacks image. Glancing at their dockerhub and github I see that image was updated in the last few days.

To attempt to rule some of those changes out, maybe we can point your image at a specific digest. Could you change your builder in fly.toml to

heroku/buildpacks@sha256:885d528572a363abc613944245bc87024a007d900cb0f187f3aee3161311bfba

This should force your builder to use one of the buildpacks images from a few releases ago.

This buildpack build is this change on github: Build, Test, Publish · heroku/builder@36ae03f · GitHub

I found the specific digest digging around their actions output, it might be worth trying some digests further back a few releases, but if you deployed a couple days ago I imagine the builder didn’t using anything much older than the one I pasted I above.

you da man, worked great.

Well, that’s kind of annoying of Heroku!

One thing that could help avoid this in the future is writing up a dockerfile tailored for your app. Those tend to build and deploy faster too since Heroku buildpacks come with something of a kitchen-sink of dependencies to be able to build a lot of different kinds of app stacks rather than just what yours needs.

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