Troubleshooting
The messages you may meet, what they mean and what to do.
The app deploys but its address answers 503
The gateway answers 503 when it cannot reach your app, or the app closes the connection before answering. Most often
the app listens on the wrong port or interface.
- Listen on the service's port. Apps built from GitHub get it in
PORT; for an image service, the port you entered. - Listen on
0.0.0.0, not127.0.0.1orlocalhost. - Check Logs → App for a crash at start.
app.listen(process.env.PORT || 8080, '0.0.0.0');502 or 504 from the gateway
502: the app sent an invalid reply, or response headers larger than 64 KiB.504: the app did not start answering within 120 seconds. Move long work to the background or stream progress. If the app goes silent that long after it has started answering, the connection is closed.
429 Too Many Requests
A client sent more than 100 requests per second for long enough to use up its burst.
Wait for Retry-After. A load test from one machine reaches this limit; spread it over several addresses, or test over the
private network.
The deploy keeps failing
| What you see | What to do |
|---|---|
| The app restarts again and again | Read Logs → App: the app exits at start. Check missing variables and the start command. |
| The image cannot be pulled | Check the image name and that the image is public. |
no_capacity | The platform had no room for 15 minutes. Deploy again; if it repeats, contact support. |
| Outcome uncertain — automatic retries paused | Choose Reconcile. |
Build messages
| Message | What to do |
|---|---|
Root directory '…' not found in the repository | Fix Root directory: it is relative to the repository root, without ./. |
… could not work out how to build this app: and the reasons | Add a Dockerfile, or set Root directory to the folder that holds the app. |
Too many builds in progress in this workspace. Wait for one to finish. | Three builds are running in the workspace. |
| The build stops at 30 minutes | Cache dependencies in your Dockerfile, and build only what the service needs. |
Image and settings messages
| Message | What to do |
|---|---|
Unsupported public image registry or repository | Use a public image on Docker Hub or GitHub Container Registry. |
public TCP provider unavailable | Only HTTP can be public. Use a private port for other protocols. |
Names use A–Z, 0–9 and _ and start with a letter… | Check the name rules and limits in Variables, including the reserved prefixes. |
Invalid reference in …: use ${{ service.VARIABLE }} | Fix the reference's form and the service's name. |
… has not been deployed yet | Deploy the referenced service first. |
Catalog version changed; reload templates | Reload the page and create the template again. |
Custom domain messages
| Message | What to do |
|---|---|
Make the service public over HTTP before adding a domain | Set Public HTTP under Networking and save. |
Only the owner can add or remove a domain. | Ask a workspace owner. |
Delete the AAAA (IPv6) record of … | Raseef answers on IPv4 only. |
This domain is already used on Raseef | Another account has the name. |
Domain: a name you own such as www.example.com | Enter one full name. Wildcards like *.example.com are not supported. |
Raseef could not check the DNS records just now | Nothing to do: it tries again every minute. |
Request bodies refused with 415
Request bodies compressed with Brotli are refused. Send them uncompressed or with gzip. See
Public HTTP.