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, domains and cloud servers

  • For TCP, use the dashboard’s endpoint and external port; the internal port is not for internet access.
  • For DNS, check delegation with dig NS example.com +short and the record with dig A example.com.
  • If SSH is unavailable, check power and IP, then use VNC to inspect sshd, the firewall, disk and network.
  • If you selected an SSH key during creation, password sign-in may intentionally be disabled.

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.