docker / genai-stack

Langchain + Docker + Neo4j + Ollama
Creative Commons Zero v1.0 Universal
3.4k stars 706 forks source link

Unable to see graph database #89

Open Pagariya opened 8 months ago

Pagariya commented 8 months ago

Hello, first of all thanks for the great work you guys have put in.

I am actaully facing an issue when starting the graph database with "Go to http://localhost:7474/ to explore the graph" when I go to http://localhost:7474/ I tried to login with URL - neo4j://database:7687, Username - neo4j and password - password. But I am unable to connect this way. Can you please help me to solve this issue.

FYI below is my .env file:

LLM=llama2 #or any Ollama model tag, gpt-4, gpt-3.5, or claudev2 EMBEDDING_MODEL=sentence_transformer #or openai, ollama, or aws NEO4J_URI=neo4j://database:7687 NEO4J_USERNAME=neo4j NEO4J_PASSWORD=password OLLAMA_BASE_URL=http://llm:11434

Thanks in advance! Anshul pagariya

matthieuml commented 8 months ago

I just tried by recreating containers, and I can connect with the same .env as you. Did you try to --force-recreate, maybe your database wasn't initialized with the proper credentials ?

teron131 commented 8 months ago

https://github.com/docker/genai-stack/pull/83

Please see if this is the same problem you are facing.

You could also provide your error messages.

WindyOrgUK commented 6 months ago

I am not sure if tis is the same problem, but I am trying to connect to the app from another host on the same network. So I need all the listeners exposed to 0.0.0.0 and not 127.0.0.1. When I use local neo4j DB I can connect from the same host I run my containers on to 127.0.0.1:7474 with curl and I get: { "bolt_routing" : "neo4j://127.0.0.1:7687", "transaction" : "http://127.0.0.1:7474/db/{databaseName}/tx", "bolt_direct" : "bolt://127.0.0.1:7687", "neo4j_version" : "5.11.0", "neo4j_edition" : "community"

but when I connect to the IP of the same host from local network, my connection times-out at some point. The connection is not reset, but just times out, so this proves that my docker is actually listening on 0.0.0.0 and the netstat proves this:

tcp 0 0 0.0.0.0:7474 0.0.0.0:* LISTEN 21438/docker-proxy

so this means that the problem is in the neo4j docker which does not know how to respond (route) to requests from external IPs.

Is there an easy solution to this ? The suggestions from Issue 83 did not change the situation for me.

matthieuml commented 6 months ago

When using the port mapping in docker-compose.yml, Docker should automatically open ports to the service on your machine unless you have blocked or have a firewall that block this behavior.

Can you access 0.0.0.0:7474 and <local-ip>:7474 on the host?

WindyOrgUK commented 6 months ago

Yes, just checked. both 0.0.0.0 and 192.168.1.77 work just fine if connection initiates from the host where the docker runs. It looks to me like a routing problem in the docker that listens on 7474. It probably does not have default gateway set so does not know how to respond to connections with src IP being within any other network than own or docker host's

matthieuml commented 6 months ago

Can you ping your docker host from the other device on the same network? Do you have any kind of firewall that could block the access?

WindyOrgUK commented 6 months ago

No, access to docker host is unlimited. No firewall used