a year 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.
0 Replies
a year ago
add a 3 second sleep to the beginning of your start script
a year ago
can you show me how you have implemented the suggested change?
a year ago
can you show me a screenshot of your railway project
a year ago
are you deploying this with nixpacks or a dockerfile?
a year ago
Are you using Payload CMS?
a year ago
does your dockerfile use an alpine based image?
a year 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
a year ago
awsome
a year 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=true
in 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
}
}
a year ago
Error: getaddrinfo ENOTFOUND xxx-redis.railway.internal
a year ago
i might add that it adds if i use the public url of redis instead
a year ago
and that it's referenced throguh a variable, i haven't hard-coded it
a year ago
ioredis?
a year ago
yup
a year ago
please read the docs page for that -
a year 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
a year 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?
a year ago
bro
a year ago
click the little button that says ioredis
a year ago
oops, i am a moron
a year 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
a year ago
no worries