I want to deploy via dockerfile on the launch. Even though there is existing fly.toml file, the ports are not being updated, and the launch is being crashed saying it’s a nodejs app. It is a nodejs app, but I asked specifically to use the dockerfile here, so why would the build try to generate requirement even if I already have a fly.toml file or have a dockerfile specifically mentioned?
Launch from GitHub was primarily intended to launch new apps, and such apps don’t tend to already have a fly.toml. That doesn’t excuse whatever error your are seeing but perhaps you will get further with the CLI.
Now let me explain a bit about how fly launch works. For reference, here is scanner.go. Even if you aren’t familiar with go, you will see a list of scanners, and they will be run in that order. JsFramework is before Dockerfile as we can generally be more helpful if we know that this is a JS application that happens to have a Dockerfile, then if we only know what the Dockerfile tells us.
It might be that everything works just fine from the CLI, at which point you are good to go. But if not and you have a Dockerfile and a fly.toml, the next thing to try is deleting the fly.toml and trying again. It doesn’t look like there is anything important in that file other than perhaps the port number. And if THAT doesn’t work, we can work through is avoiding fly launch altogether. In many cases you can run fly apps create update the app name in your fly.toml and then proceed directly to fly deploy.