Docker push fails: “app repository not found” after layers upload

fly apps create and fly auth docker succeed, but pushing our locally built image fails after layers upload:

docker push registry.fly.io/<temporary-app>:pilot
error from registry: app repository not found

Reproduced with a fresh app name on September 28, 2026 UTC. Using Docker Desktop on macOS. Temporary apps were deleted afterward; no machines launched.

What diagnostics would help distinguish authentication, repository provisioning or image-manifest compatibility issues? Account-specific details can be provided privately.

One reason you might see app repository not found after docker push is if your Docker credential has expired. The one created by fly auth docker has a very short lifetime by default. For awareness, the expiration time is shown in the command output:

 ~ % fly auth docker
Authentication successful. Credential expiration: 6 minutes from now.

Rerunning fly auth docker before pushing your image should fix the error if it’s caused by an expired cred. You can also generate longer-lived Docker creds by creating an app or org-scoped access token and setting it as your FLY_API_TOKEN. Using an app-scoped token example:

~ % FLY_API_TOKEN=$(fly tokens create deploy --app <app-name>) fly auth docker
Authentication successful. Credential expiration: 20 years from now.

I hope that helps!

The one-hour app-scoped token fixed the original error; one push succeeded. Subsequent uploads repeatedly fail while committing layers with net/http: timeout awaiting response headers. We also saw transient connect: connection refused. A delayed retry failed too. Could you check registry health and recommend upload diagnostics?

If you’re still seeing upload issues, I suggest sending a curl to our registry with the flyio-debug:doit header. This generates some good diagnostic info:

curl -I -H 'flyio-debug:doit' https://registry.fly.io/

The response gives us a corresponding request ID, the edge server you hit, and the registry instance that you’re routed to.

I’m not seeing active issues affecting registry health as a whole but if there’s something going on with networking or a specific registry instance/region, the output from the above can help us take a closer look. It’d also help to see the output from docker push when you experience failures.

Thanks!

Diagnostic collected September 29, 2026, 18:27:56 UTC:

HTTP/2 307
fly-request-id: 01M3Q6RSQ8B81EWZ8WPEAPZ5KC-syd
Edge: edge-dp-syd1-72ad
Region: syd
Backend: worker-cf-syd1-4fef

The latest Docker push failed with:
net/http: timeout awaiting response headers

A delayed retry also failed. Using a one-hour app-scoped token previously
allowed one complete upload, resolving the original short-token issue.

Can you investigate using this request ID?