T1. App works locally but not online
What this page helps you do
Work through the most common reasons an app runs on your machine but fails after deploy.
Why it matters
This is one of the most common launch problems. It usually means something about the production environment is different from local in a way the app depends on.
You should already have
- a working local app
- a failed or partially working deployment
Skip this page if
- the app does not even run locally yet
Then go back to F4. Run your app locally.
What to do
Check the usual gaps first:
- Environment settings are missing or named differently.
- Build commands differ between local and production.
- The app starts locally with hidden dependencies the host does not have.
- The database or external service URL is wrong.
- The app is running, but the domain points to the wrong place.
- The app crashes on startup and only the logs know why.
Simple debugging order:
- Check the deploy logs.
- Check the startup command.
- Check environment settings.
- Check database or service connections.
- Check the domain and HTTPS only after the app itself is healthy.
Recommended default
Assume the problem is something boring before you assume it is something advanced.
Most of the time it is:
- a missing setting
- a wrong command
- a wrong target URL
- a hidden local dependency
Common mistakes
- debugging DNS before checking whether the app booted
- changing five things at once
- trusting a green deploy badge without opening the logs
Next step
If the app itself is healthy, go to T2. Domain not working or D3. Point your domain to your app.
Related pages
Advanced notes
If the app only fails under real production traffic, check for file paths, permissions, timeouts, and rate limits that local development never exercised.