2 months ago
All of my resent deployments were failed: FAILED - "Deployment failed during network process". The healthcheck timed out.
I do not know how to solve it. Even tried using AI but nothing works. I need some guidance please.
Pinned Solution
2 months ago
ok help me to help you :) , need you to check a few things in your deploy logs:
first, look at the end of your build logs , does your express server actually start? should see something like "server listening on port 3000"
second , is there a database connection error? sequelize might be failing to connect to supabase and preventing your app from starting. check your DATABASE_URL is correct and supabase allows railway's IPs
third, disable healthcheck temporarily (leave path blank) and try deploying. if it works then manually curl your deployed url to see if the server actually responds
and if you can share your server startup code , specifically how you're doing app.listen() and if you're connecting to supabase before or after starting the server. if you're awaiting the db connection before listen(), that might be blocking everything .
this will help me know what do the actual deploy logs say
6 Replies
2 months ago
This thread has been marked as public for community involvement, as it does not contain any sensitive or personal information. Any further activity in this thread will be visible to everyone.
Status changed to Open brody • 2 months ago
2 months ago
most likely your app is blocking railway's healthcheck requests. add healthcheck.railway.app to your allowed hosts (like in django's ALLOWED_HOSTS or your cors config). also make sure your app binds to 0.0.0.0:$PORT not localhost. if that doesn't work, temporarily disable the healthcheck in service settings (leave path blank) so you can deploy and test manually. what framework are you using?
2 months ago
Frontend:
React 18 with TypeScript
Tailwind CSS
Backend:
Node.js with Express
Sequelize ORM
PostgreSQL (via Supabase)
Deployment:
Frontend: Vercel
Backend: Railway (currently failing)
Database: Supabase PostgreSQL
Sorry but it still not working. I paid for pro for someone for the company to help me not to be pushed to the forum
2 months ago
ok for express specifically, change your app.listen() to bind to :: instead of 0.0.0.0:
javascript
const PORT = process.env.PORT || 3000;
app.listen(PORT, '::', () => {
console.log(`server on port ${PORT}`);
});also make sure you have a /health endpoint that returns 200:
javascript
app.get('/health', (req, res) => {
res.status(200).json({ status: 'ok' });
});then in railway service settings set healthcheck path to /health. the :: binding is required for railway's healthcheck to reach your app. if that doesn't work check your supabase connection isn't blocking startup
let me knew the result
2 months ago
Sorry not working. Can someone from railway have a look at my setting?
2 months ago
ok help me to help you :) , need you to check a few things in your deploy logs:
first, look at the end of your build logs , does your express server actually start? should see something like "server listening on port 3000"
second , is there a database connection error? sequelize might be failing to connect to supabase and preventing your app from starting. check your DATABASE_URL is correct and supabase allows railway's IPs
third, disable healthcheck temporarily (leave path blank) and try deploying. if it works then manually curl your deployed url to see if the server actually responds
and if you can share your server startup code , specifically how you're doing app.listen() and if you're connecting to supabase before or after starting the server. if you're awaiting the db connection before listen(), that might be blocking everything .
this will help me know what do the actual deploy logs say
2 months ago
Thank you my friend. I am done with this. I need 1:1 member of the company to review my setting . I paid for not on a public chat an to have it back and forth
Status changed to Solved brody • 2 months ago