Skip to Content
Troubleshooting

Troubleshooting

Investigate failures from the outside in: account and project status, recent operations, the build, the process, networking and finally dependencies.

The service will not deploy

  1. Open the latest build’s status and logs in Builds.
  2. If you have a Dockerfile, check its path and build context; Dockerfile takes priority over automatic detection.
  3. Make sure the command does not return a nonzero exit code and private dependencies have the required credentials.
  4. In a monorepo, check the root directory and watch paths.
  5. Distinguish build-time variables from runtime variables; runtime variables are unavailable during the build.

The service runs but cannot be reached

  • The application must listen on 0.0.0.0 and the port supplied in PORT, not only on localhost.
  • Exposure must be HTTP, and the internal port must match the process’s actual port.
  • Check logs for crashes, timeouts or database connection errors.
  • Test the default URL first to separate DNS problems from application problems.

TCP and domains

  • For TCP, use the endpoint and external port shown in the dashboard; the internal port is not reachable from the Internet.
  • For DNS, check delegation with dig NS example.com +short and the A record with dig A example.com.

Data disappeared after deployment

A container’s filesystem can change when a release is replaced. Data belongs in a volume or add-on. If a volume was attached, check the mount path and environment, and avoid further writes until you understand the situation.

Information to prepare for support

Provide the error time and timezone, project and resource IDs, your last action, the expected result and logs with secrets removed.

Do not put passwords, tokens, private keys, cookies or complete connection strings in tickets.