Error: getaddrinfo ENOTFOUND postgres.railway.internal
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.Solution:Jump to solution
then have a look at this docs section
https://docs.railway.app/guides/private-networking#workaround-for-alpine-based-images
the 3 second sleep is still needed though...
26 Replies
Project ID:
93ff8b35-df80-4f04-9f54-b6e4fa647fbf
93ff8b35-df80-4f04-9f54-b6e4fa647fbf
add a 3 second sleep to the beginning of your start script
gotcha, let me try it
still is giving the same error
can you show me how you have implemented the suggested change?
sure, I just added "sleep 4 && <the rest of the start script>"
the start script indeed is delayed by 4 secs
can you show me a screenshot of your railway project
you mean the project page?
where all the services are
are you deploying this with nixpacks or a dockerfile?
Are you using Payload CMS?
dockerfile
yes
does your dockerfile use an alpine based image?
yep
node:18.8-alpine
Solution
then have a look at this docs section
https://docs.railway.app/guides/private-networking#workaround-for-alpine-based-images
the 3 second sleep is still needed though
ok Ill check it
thank you @Brody I added the
ENABLE_ALPINE_PRIVATE_NETWORKING=true
metioned in the docs and now my app is working fineawsome
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:
i might add that it adds if i use the public url of redis instead
and that it's referenced throguh a variable, i haven't hard-coded it
ioredis?
yup
please read the docs page for that - https://docs.railway.app/guides/private-networking#known-configuration-requirements-for-ipv6
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 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?
bro
click the little button that says ioredis
oops, i am a moron
thank you so much, setting my
REDIS_URL
to the below does indeed work
apologies for not being able to RTFM, i was blindno worries