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.
2 Replies
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
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