# Failed builds

URL: https://getflowing.ai/docs/troubleshooting/failed-builds

The messages GetFlowing shows when your app's image cannot be built, what each one means, and what to change so the next build works.

## The build failed

> We couldn't build your app from its code. Make sure it builds locally, then try again.

The build stopped on an error in your code or your Dockerfile. Read the error lines on the **Overview**, fix them, and check the build passes on your own machine, with `docker build .` if you have a Dockerfile. Then deploy again.

If GetFlowing wrote the Dockerfile, the message also says what it built your app as. If that is not what your app is, add a Dockerfile of your own. See [Deploy an app with your own Dockerfile](https://getflowing.ai/docs/build/dockerfile).

## The build timed out

> The build took too long and timed out. Please try deploying again.

Usually the image took longer than 20 minutes to build. If it happens every time, make the build faster: commit your lockfile, keep large files out of the build with a `.dockerignore`, and leave tests out of the image build.

## There is nothing to build

> This app can't be packaged yet: there is no Dockerfile where the build looks, and GetFlowing could not write one for it. Add a Dockerfile, or ask the agent to add one on a plan with the agent, then deploy again.

GetFlowing could not recognise your app's stack, or recognised it but cannot build it without a Dockerfile. See [Apps it cannot build without a Dockerfile](https://getflowing.ai/docs/build/without-a-dockerfile#apps-it-cannot-build-without-a-dockerfile).

> There is no Dockerfile at `Dockerfile` in the code this deploy would build. If the app is waiting in a pull request, merge it first; otherwise add a Dockerfile that builds the app and starts it listening on the port in PORT (8080), or ask the agent to add one on a plan with the agent, then deploy again.

The same, before the build started. If the app's code is in a pull request, merge it first. Where GetFlowing can tell why it could not write a Dockerfile, the message says so.

> This app's code isn't ready to build yet. Ask the agent to set up the app, then deploy again.

The app has no code to build yet, or no connected repository. On a plan with the agent, ask the agent to set it up. Otherwise, import the app's repository from GitHub.

## A download was refused

> A download your build needs was turned away because it was rate limited. This is usually temporary and isn't something you need to change in your app. Please try deploying again in a few minutes, and contact support if it keeps happening.

> Your app's base image couldn't be downloaded because the download was rate limited, so the build didn't run. This is usually temporary and isn't something you need to change in your app. Please try deploying again in a few minutes, and contact support if it keeps happening.

A package registry or image registry turned the download away for a while. Wait a few minutes and deploy again.
