Qdrant plugin’s private DNS name never resolves in wren-ai-service
Anonymous
HOBBYOP

8 months ago

Description

I’m using Railway’s managed Qdrant plugin alongside my custom wren-ai-service container. The service startup script waits for Qdrant at its in-cluster hostname (qdrant.railway.internal:6333) but the lookup always fails.

To troubleshoot, I removed every hard-coded QDRANT_* variable, then added only variable references via the Railway picker: QDRANT_HOST→qdrant, QDRANT_PORT→PORT (which is 6333), QDRANT_URL→http://${QDRANT_HOST}:${QDRANT_PORT}. I did not type any .up.railway.app domains anywhere.

I enabled Private Networking on both the Qdrant plugin and wren-ai-service, confirmed they share US East (Virginia) Metal, and added dependsOn so wren-ai waits for qdrant. I also stood up the plugin’s TCP proxy on port 6333, which should register the alias qdrant.railway.internal:6333 in Railway DNS.

Despite all of the above, wren-ai-service logs still show “forward host lookup failed: No address associated with name,” and the service times out waiting for Qdrant. I’m looking for any missing setting—feature flag, DNS propagation issue, firewall rule, or plugin config—that would let in-cluster DNS work as intended.

Solved$10 Bounty

2 Replies

brody
EMPLOYEE

8 months ago

Hello,

Just want to briefly mention that Qdrant is not managed by us in anyway, it is completely unmanaged from our prospective.

Is your application doing a AAAA DNS lookup? it would be an issue if its not given the private network is IPv6 only.

Best,
Brody


Status changed to Awaiting User Response Railway 9 months ago


custom156
HOBBY

7 months ago

Hi,

After a few hours of tinkering (read: cursing), I came up with a way to make it work. The variable references are case sensitive, in your main app variables, the host also needs "http://" in front of the variable reference.

QDRANT_HOST = http://${{Qdrant.RAILWAY_PRIVATE_DOMAIN}}:${{Qdrant.PORT}}
<-- Notice the capital "Q" and lowercase "drant" in Qdrant! -->

I've removed the QDRANT_PORT from my main app variables.

In the Qdrant block, I added these variables:

PORT = 6333

QDRANT__SERVICE__HOST = ::

QDRANT__SERVICE__GRPC_HOST = ::

QDRANT__SERVICE__HTTP_HOST = ::

That did the trick for me. YMMV.

Hope it helps


Status changed to Solved brody 7 months ago


Loading...