Document upsert timeout error in Qdrant

I can’t use the self-hosted Qdrant, it returns the ConnectTimeoutError error, but I use this same Qdrant with Flowise

Information on your n8n setup
n8n version: Version 1.36.4
Database: Postgress
Running n8n via: Docker
Operating system: Ubuntu

Error detail:
n8n version: 1.36.4 (Self Hosted)

Error cause:

{
    "name":"ConnectTimeoutError",
    "code":"UND_ERR_CONNECT_TIMEOUT",
    "message":"Connect Timeout Error"
}

stack trace:
TypeError: fetch failed 
    at Object.fetch (node:internal/deps/undici/undici:11731:11) 
    at processTicksAndRejections (node:internal/process/task_queues:95:5) 
    at fetchJson (/usr/local/lib/node_modules/ n8n/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:135:22) 
    at /usr/local/lib/node_modules/n8n/node_modules/@qdrant/js-client-rest/dist/ cjs/api-client.js:46:26 
    at handler (/usr/local/lib/node_modules/n8n/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:156:16) 
    at / usr/local/lib/node_modules/n8n/node_modules/@qdrant/js-client-rest/dist/cjs/api-client.js:32:24 
    at handler (/usr/local/lib/node_modules/n8n/node_modules/ @qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:156:16) 
    at fetchUrl (/usr/local/lib/node_modules/n8n/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/ fetcher.js:162:22) 
    at Object.fun [as getCollections] (/usr/local/lib/node_modules/n8n/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:168:20 ) 
    at QdrantClient.getCollections (/usr/local/lib/node_modules/n8n/node_modules/@qdrant/js-client-rest/dist/cjs/qdrant-client.js:826:26) 
    at QdrantVectorStore.ensureCollection (/usr/ local/lib/node_modules/n8n/node_modules/@langchain/community/dist/vectorstores/qdrant.cjs:140:26) 
    at QdrantVectorStore.addVectors (/usr/local/lib/node_modules/n8n/node_modules/@langchain/community/ dist/vectorstores/qdrant.cjs:84:9) 
    at QdrantVectorStore.addDocuments (/usr/local/lib/node_modules/n8n/node_modules/@langchain/community/dist/vectorstores/qdrant.cjs:69:9) 
    at Function. fromDocuments (/usr/local/lib/node_modules/n8n/node_modules/@langchain/community/dist/vectorstores/qdrant.cjs:191:13) 
    at Object.populateVectorStore (/usr/local/lib/node_modules/n8n/node_modules/ @n8n/n8n-nodes-langchain/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js:68:9) 
    at Object.execute (/usr/local/lib/node_modules/n8n/node_modules/@n8n/n8n- nodes-langchain/dist/nodes/vector_store/shared/createVectorStoreNode.js:174:21) 
    at Workflow.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-workflow/dist/Workflow.js:728: 19) 
    at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute.js:660:53 
    at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute .js:1062:20

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Has anyone had this problem using self-hosted Qdrant?

What caught my attention is that with Flowise I can use it without any problems

Hey @Claudio_Balbino,

I’ve never used Flowise, but qdrand self-hosted via docker work fine for me

Do you mind share your workflow?:slight_smile:

Hi @Shirobachi

The model I’m using is similar to the one you shared

I don’t know if I missed any details in my installation, but the curious thing is that I can upsert documents using Flowise, but I can’t with n8n

Could you share the Qdrant docker compose you are using?

I see you use collection by ID, if you change it to list, is there anything?
If not, can you show credentials (without api), I have http://192.168.0.99:6333 maybe you have some lading slash or sth?

Even though the credential shows that the connection was tested successfully, nothing appears in the list

I’ve already tested without an API but I wasn’t successful either.

Can you connect from n8n to the address you mentioned using an HTTP node or something similar? You mentioned using a Docker instance; is it hosted locally or in the cloud? Can n8n access this address?

Currently, I’m outside my home network where Qdrant is set up, so I can’t test it myself. However, I believe the HTTP node should be able to connect to Qdrant via a simple GET request. If you’re experiencing a timeout, it’s likely that the address is unreachable. It would be useful to have your deployment configuration for further investigation.

EDIT: I got it working, @Claudio_Balbino!

Here were the steps I took:

  • Disable TLS and certs in Qdrant configuration

  • Configure reverse proxy to Qdrant via NPM. (Take care of certs here and force upgrade to HTTPS. Use this subdomain for user access to dashboard)

  • Assuming N8N in same Docker Compose file as Qdrant, add connection in n8n using http://<container_name>:6333

  • Test it out

image


Previous response:

I’m having same issue with self-hosted Qdrant and can confirm access from Flowise on same instance.

My connection details include API key and subdomain that is reverse proxied via NPM to container on port 6333

@Shirobachi I also tried with private IP as you suggested. Mine is 172.xx.x.xx and I get a could not connect error.

This might be network-related. Try the following steps:

  1. Check Docker network settings:
docker ps
docker network inspect <network-name/id>
  1. Run container with port mapping:
docker run -p 80:80 <image-name>
  1. View container logs:
docker logs <container-id>
  1. You can try using --network=host or services[].network_mode: host with n8n. Testing both might help.

Let me know if that help
Simon

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.