2 years ago
I'm trying to connect a node app to a postgresql database (both are in the same railway project) through the private network so I'm using the DATABASE_PRIVATE_URL in my node app, but then I get this error in the logs Error: getaddrinfo ENOTFOUND postgres.railway.internal.
Before I was connecting my node app to my postgresql database through the public url (so using DATABASE_URL env variable) and all was going fine, but then I realized the higher costs this public connection implies (rookie mistake) so I changed it to the private network however now I have this issue.
34 Replies
2 years ago
add a 3 second sleep to the beginning of your start script
2 years ago
can you show me how you have implemented the suggested change?
2 years ago
can you show me a screenshot of your railway project
2 years ago
are you deploying this with nixpacks or a dockerfile?
2 years ago
Are you using Payload CMS?
2 years ago
does your dockerfile use an alpine based image?
2 years ago
then have a look at this docs section
the 3 second sleep is still needed though
thank you @Brody I added the ENABLE_ALPINE_PRIVATE_NETWORKING=true metioned in the docs and now my app is working fine
2 years ago
awsome
2 years ago
this is an issue for me after seemingly trying everything here
added a 10s timeout before start on my service
added
ENABLE_ALPINE_PRIVATE_NETWORKING=truein the service using it + redis
schema:
{
"$schema": "https://railway.app/railway.schema.json",
"build": {
"builder": "NIXPACKS",
"buildCommand": "echo \"no-build\""
},
"deploy": {
"numReplicas": 1,
"startCommand": "sleep 10 && cd apps/xxxx && pnpm tsx server",
"healthcheckPath": "/",
"sleepApplication": true,
"restartPolicyType": "ON_FAILURE",
"restartPolicyMaxRetries": 10
}
}


2 years ago
Error: getaddrinfo ENOTFOUND xxx-redis.railway.internal2 years ago
i might add that it adds if i use the public url of redis instead
2 years ago
and that it's referenced throguh a variable, i haven't hard-coded it

2 years ago
ioredis?
2 years ago
yup
2 years ago
please read the docs page for that -
2 years ago
you aren't using alpine, so I'm not sure why you set that variable, and I'm really not sure why you set it on the redis service
2 years ago
A web application that makes client-side requests cannot communicate to another service over the private network.
are you saying that because my app is public, it can't connect to redis over the public network?
2 years ago
bro
2 years ago
click the little button that says ioredis
2 years ago
oops, i am a moron
2 years ago
thank you so much, setting my REDIS_URL to the below does indeed work
${{redis.REDIS_PRIVATE_URL}}?family=0`apologies for not being able to RTFM, i was blind
2 years ago
no worries