ChromaDB

2 years ago

Description: The AI-native embedding database

Category: Storage

URL: https://railway.app/template/kbvIRV

9 Replies

yungprtymfk
HOBBY

2 years ago

Hi there! I changed host to 0.0.0.0, but I'm not able to access the service from my local machine. Please help.

When I run docker image with Chroma locally and request through Postman: GET http://0.0.0.0:8000/api/v1, I get code 200 response. But when requesting GET https://chroma-dev-123.up.railway.app/api/v1, I receive 503 - Service unavailable.


2 years ago

Ah yes, fragly forgot a very important setting.

https://help.railway.app/questions/connection-errors-with-chroma-template-6ab3976f#solution


2 years ago

Thanks for flagging, I've implemented the missing setting! 🤣


yungprtymfk
HOBBY

2 years ago

Thanks a lot guys! It works! But FYI: 1) using $PORT param in uvicorn command does not work, because it passes string and not number. 2) Chroma is actually running without any Authorization and is accessible just by url.


2 years ago

Chroma should be running with authorization 🤔

I just ran through the docs again and I believe that the template is properly set up in accordance with the docs (https://docs.trychroma.com/deployment/auth). I'll make a new deployment of the template later and see if I can reproduce


2 years ago

I updated the solution in my previously linked post to hopefully fix the PORT issue.


2 years ago

Thanks brody, updated the template accordingly!


alexprotonotarios
PRO

6 months ago

I note that as the service is being used memory usage keeps creeping up (started from 1 GB and currently at 6GB after 2 weeks). Is that expected or some memory leak? If vectors are kept in memory after upload, wouldnt they be cleared at some point?

Edit: Apologies I have noted that these are known issues with chroma. See: https://github.com/chroma-core/chroma/issues/4024

I guess for now this can be mitigated by restarting it once in a while.


amserra
HOBBY

2 months ago

Hey guys, I'm having trouble connecting it the latest image (1.4.0) using the Typescript client. Here's my setup.

On the client side, I'm doing:

const chromaClient = new ChromaClient({

ssl: false,

host: 'chroma.railway.internal',

port: 8000,

});

On the service, I have the private network URL set to chroma.railway.internal , volume mounted to /data and the following environment variables:

  • CHROMA_HOST_ADDR="::"

  • CHROMA_PRIVATE_URL="http://${{RAILWAY_PRIVATE_DOMAIN}}:${{CHROMA_HOST_PORT}}"

  • CHROMA_PUBLIC_URL="https://${{RAILWAY_PUBLIC_DOMAIN}}"

  • CHROMA_HOST_PORT="8000"

The client is always throwing Error querying data: ChromaConnectionError: Failed to connect to chromadb

I've tried @brody's suggestion, but I get uvicorn not found . Probably that doesn't apply anymore since the answer is from 2 years ago.

Pretty sure the problem is related with the private network connection and IPV6, because I can access the instance using public networking.

Can someone help me?


Loading...