Deploy App
When a deploy fails
What each deploy error means and how to fix it. Your live site keeps running when a deploy fails.
A failed deploy never takes your site down: the previous version keeps running. Open the failed deploy on the Deployments tab: the red box says what went wrong, and the log below shows the details. Or ask the chatbot "why did the last deploy of example.com fail?" — it reads the log for you.
| Error | What it means | Fix |
|---|---|---|
| The build failed | Your build command stopped with an error. The line that failed is quoted | Fix it in the code and push, or adjust the build command in Settings → Advanced |
| Out of memory | The server ran out of memory while building (Next.js builds need about 1.5 GB) | Add swap (the message shows the commands), or use a bigger server |
| Disk full | Not enough free disk for the build | Free space; docker system df shows what Docker uses |
| Didn't answer (unhealthy) | The app started but nothing answered on its port within 90 s | Make the app listen on 0.0.0.0 and the port in Settings (we pass it as PORT). Or set a health-check path that answers |
| Stopped right after starting (crash loop) | The app exited. Its last lines are in the log | Usually a missing environment variable or a database it can't reach |
| Credential refused / repository not found | The token expired, can't read this repository, or the URL is wrong | Git credentials → Replace token; check the URL |
| Branch doesn't exist | — | Check the branch in Settings |
| No package.json / No Dockerfile | The project type doesn't match the code, or the code is in a sub-folder | Fix the type, or set App folder in Settings → Advanced |
| Folder / nginx file / domain already exists on the server | Something not made by the panel already uses that name | Remove or rename the old site on the server, then deploy again. We never overwrite what we didn't create |
| Port 80 is used by … | Another web server (Apache, Caddy…) holds port 80 | Stop it, or use a server where nginx serves the web |
| nginx rejected the configuration | Another site's config on the server is broken, so nginx won't reload | Nothing was changed. Run nginx -t on the Nginx tab to see which file |
| The panel restarted during this job | The deploy was cut off | Deploy again; the live version was left serving |
Roll back
If a deploy succeeded but the new version misbehaves, open Deployments and press Roll back to this on the last good version. It takes seconds: the last 3 builds are kept on the server, so nothing is rebuilt.
