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
- Open the latest build’s status and logs in Builds.
- If you have a Dockerfile, check its path and build context; Dockerfile takes priority over automatic detection.
- Make sure the command does not return a nonzero exit code and private dependencies have the required credentials.
- In a monorepo, check the root directory and watch paths.
- 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.0and the port supplied inPORT, not only onlocalhost. - 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 +shortand the record withdig 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.