Deploying apps
Troubleshooting
The failures people actually hit, what causes each one, and how to fix it.
First, is it you or is it the platform?
Subscribe to be emailed the moment an incident is opened or resolved, rather than finding out by going looking. Incidents and maintenance are published as RSS at status.aletcloud.com/rss.xml.If the service in question is green and the problem persists, the symptoms below are the fastest route.
Symptoms
The build succeeded but the app never comes up
localhost instead of 0.0.0.0, or listening on a different port from the one traffic is routed to.
Read the runtime logs. An app that logs it is listening on 127.0.0.1orlocalhosthas found its own problem.Make the server read the PORTenvironment variable instead of a hardcoded number.If the app must use a fixed port, set that port in the app’s settings so traffic is routed to it. Confirm a development server is not being used as the production command.
The build failed
package.json.
Environment variables are available during the build, so add whatever the build needs and redeploy. Commit the lockfile. A build from a clean checkout cannot reuse what only exists on a laptop. If it builds locally but not here, build from a fresh clone on the same machine. That usually reproduces it.
The app starts, then restarts over and over
The app ran out of memory
The first request after a while is slow
A custom domain is not verifying
Check the TXT record name and value match exactly what the console shows, the _alet-challengeprefix included.Some DNS providers append the domain to whatever is typed in the host field. If the result reads _alet-challenge.yourdomain.com.yourdomain.com, enter just the prefix instead.Give it time. DNS changes usually spread within an hour, and unverified domains are re-checked every ten minutes. The traffic record only appears after ownership is proven. If there is no address to point at, step one is not finished.
A worker has no URL
Django returns 400 for every request
ALLOWED_HOSTS does not include the domain being visited. Add the app’s aletcloud subdomain and any custom domain, then redeploy.